---
title: "Get account setup"
method: GET
path: "/account/setup"
tags: ["Account"]
---

# Get account setup

`GET /account/setup`

## Request

- Base URL: `https://api.privy.com/v1`
- URL: `https://api.privy.com/v1/account/setup`
- Auth: HTTP bearer

Audit what the account has and hasn't set up: the onboarding steps with their statuses,
plus a summary of what is actually live right now (display types, flow triggers, connected integrations).

The fastest answer to "is this account configured, and what is it using" —
the summary names the kinds of display, trigger, and integration in use
without paging `/v1/displays` and `/v1/flows`. Kinds only: no titles, no
ids, no performance. Use those endpoints to name the individual records
and `/v1/reports/summary` for results.

No scope is required — any valid bearer token can call this endpoint.

## Headers

- `Privy-Account-Id` string

## Response `200`

The account's setup steps and live-configuration summary.

- object
  - `data` AccountSetup
    - `steps` SetupStep[]: The account's onboarding steps and their statuses. Steps are plan-dependent — only steps the account qualifies for are returned. Accounts created before guided onboarding return an empty list.
      - `key` string: Stable identifier of the onboarding step.
      - `status` 'not_started' | 'in_progress' | 'pending' | 'completed' | 'skipped'
      - `required` boolean: Whether the step is required for setup to be considered complete.
    - `started_at` string, date-time, nullable: When the account first viewed the setup guide. `null` if never viewed.
    - `completed_at` string, date-time, nullable: When every required step was completed. `null` while setup is in progress.
    - `summary` object: What the account actually has live right now, derived from current configuration.
      - `live_display_types` string[]: Display types of campaigns currently live on the merchant's site.
      - `flow_triggers_in_use` string[]: Normalized trigger names of currently active flows.
      - `connected_integrations` string[]: Providers of the account's connected integrations.

## Other responses

- `401`: Missing or invalid bearer token.
- `429`: Rate limit exceeded. Retry after the specified time.

## Changes

- **2026-11-05** `cf0885e90d5a`: 4 warning
  - added the new `forbidden` enum value to the `error/code` response property for the response status `401`
  - added the new `forbidden` enum value to the `error/code` response property for the response status `429`
  - added the new `segment_builder_required` enum value to the `error/code` response property for the response status `401`
  - added the new `segment_builder_required` enum value to the `error/code` response property for the response status `429`
- **2026-11-03** `fe500ab59b3b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/privy/apis/privy-api/changes/account/setup/get.md)

---

[API](https://skmtc.dev/privy/apis/privy-api.md) - [All operations](https://skmtc.dev/privy/apis/privy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/privy/apis/privy-api/revisions/bc29b48dcdd2?raw)
