---
title: "Check onboarding completion gates"
method: GET
path: "/api/onboarding/status"
tags: ["Onboarding"]
---

# Check onboarding completion gates

`GET /api/onboarding/status`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/onboarding/status`
- Auth: API key in cookie `luca.session_token`

**Session-only.** This endpoint isn't on the API-key allowlist. An organization API key gets a 403 here, whatever scopes it holds.

## Headers

- `Luca-API-Version` '1'

## Response `200`

ok

- OnboardingStatusResponse
  - `hasChannel` boolean, required
  - `hasVoiceCorpus` boolean, required
  - `hasProfile` boolean, required
  - `setup` object, required
    - `niche` string, nullable, required
    - `nicheDetail` string, nullable, required
    - `dmHandler` string, nullable, required
    - `primaryGoal` string, nullable, required
  - `demo` object, required
    - `dmText` string, nullable, required
    - `draftBody` string, nullable, required
    - `draftVoiced` string, nullable, required
    - `usedSample` boolean, nullable, required
  - `instagramPreflight` object, nullable, required
    - `handle` string, required
    - `accountType` 'business' | 'creator' | 'personal' | 'unknown', required
    - `followerCount` integer, nullable, required
  - `channelConnectedAt` string, nullable, required
  - `completedAt` string, nullable, required
  - `onboardingStep` string, nullable, required
  - `answers` object, nullable, required
    - `niche` string, nullable, required
    - `dmVolume` string, nullable, required
    - `whoAnswers` string, nullable, required
    - `primaryGoal` string, nullable, required
    - `leadChannels` string[], required
    - `offerPriceBand` string, nullable, required
    - `customAnswers` object, required
    - `updatedAt` string, date-time, required
  - `experimentAssignments` object, required
  - `waitingLeadCount` integer, required
  - `waitlistChannels` string[], required
  - `annualBillingAvailable` boolean, required

## Other responses

- `401`: unauthorized
- `429`: rate limited
- `500`: internal error
- `503`: service unavailable

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
