---
title: "Read the authenticated company's server-authoritative setup state"
method: GET
path: "/onboarding/v3/setup-state"
tags: ["Onboarding"]
---

# Read the authenticated company's server-authoritative setup state

`GET /onboarding/v3/setup-state`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/onboarding/v3/setup-state`
- Auth: HTTP bearer

## Headers

- `X-Median-App-Surface` 'qa'

## Response `200`

Durable setup tasks, data slices, and deferred questions

- OnboardingV3SetupStateApiResponse
  - `success` true, required
  - `data` OnboardingV3SetupState, required
    - `companyId` string, uuid, required
    - `tasks` OnboardingV3SetupTaskRecord, required
    - `data` OnboardingV3SetupDataRecord, required
    - `deferred` OnboardingV3DeferredItem[], required
      - `id` string, required
      - `label` string, required
      - `ask` string
      - `taskId` 'authority' | 'basics' | 'connect' | 'processors' | 'payroll' | 'documents' | 'books' | 'history' | 'median-work' | 'call', required
    - `updatedAt` string, date-time, required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Resource not found
- `409`: Request conflicts with the durable onboarding state

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
