# Retrieve the setup checklist

`GET /v1/onboarding`

The workspace's setup checklist, in order: the same steps the dashboard shows. Only steps marked `required` count towards `completed`. New keys may appear; skip any you do not recognise. Steps only owners can finish, such as connecting an app with a key, are left out for API keys.

## Returns

Returns `200 OK` with a `Onboarding` in `data`. Otherwise returns an error; [Errors](/docs/api/errors) lists every code and which to retry.

- `completed` (boolean, required)
- `dismissed` (boolean, required)
- `steps` (OnboardingStep[], required)
  - `done` (boolean, required)
  - `unverifiedDomainCount` (integer, optional, min 0, max 9007199254740991)
  - `missing` (string[], optional)
  - `campaignId` (string | null, optional, uuid)
  - `key` (string, required, one of `domain`, `address`, `brand`, `push`, `audience`, `message`, `send`, `engagement`, `app`)
  - `required` (boolean, required)

## Example

```bash
curl https://api.kirora.io/v1/onboarding \
  -H "Authorization: Bearer $KIRORA_API_KEY"
```

Response `200`:

```json
{
  "data": {
    "completed": true,
    "dismissed": true,
    "steps": [
      {
        "done": true,
        "key": "domain",
        "required": true
      }
    ]
  }
}
```
