# Get the organization's Get Started onboarding status.

`GET https://api.suger.cloud/org/{orgId}/onboarding/status`

Returns the six-step Get Started checklist state (account, marketplace, crm, notification, readiness, goLive), derived live from the organization's actual configuration, plus per-check readiness detail with actionable reasons. Read-only. Use it to answer which onboarding step is incomplete and why. Distinct from VerifyIntegration, which actively re-verifies a single integration's credentials. Available for seller organizations; buyer, reseller and partner organizations receive 404.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgId` | path | string | yes | Organization ID |

## Responses

### 200 — Success

Content-Type: `application/json` · Schema: `OnboardingStatus`

**`OnboardingStatus`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `completedCount` | integer | no | Number of done steps (skipped steps never count). |
| `dismissed` | boolean | no | Org-scoped checklist dismissal (page stays reachable). |
| `skippedSteps` | array<string> | no | Raw persisted skip intent, verbatim. Distinct from step.state == "skipped": derived-done overrides skip for RENDERING, so a skipped step that later completes shows done while its intent stays here. Clients MUST build the PATCH full-replacement skippedSteps array from this list — rebuilding it from visible step states silently erases intent hidden behind done steps. Never omitted (empty = []). |
| `steps` | array<OnboardingStep> | no |  |
| `totalCount` | integer | no |  |

**`OnboardingStep`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `checks` | array<OnboardingCheck> | no | Readiness detail rows; present on the readiness step only. |
| `key` | OnboardingStepKey | no |  |
| `state` | OnboardingStepState | no |  |

**`OnboardingCheck`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `blocking` | boolean | no | Blocking checks gate the readiness step; non-blocking rows are recommendations or informational. |
| `integrationId` | string | no | The marketplace integration this row belongs to (multi-integration orgs). |
| `key` | OnboardingCheckKey | no |  |
| `reason` | string | no | Machine-readable reason when not green (e.g. DATA_FEED_NOT_ENROLLED). |
| `state` | OnboardingCheckState | no |  |

### 404 — Organization not found, or not a seller organization

Content-Type: `application/json`

### 500 — Internal server error

Content-Type: `application/json`

---

Interactive API reference: https://doc.suger.io/api/
