---
title: "Complete onboarding"
method: POST
path: "/v1/onboarding/complete"
tags: ["Owner"]
---

# Complete onboarding

`POST /v1/onboarding/complete`

## Request

- Base URL: `https://api.vicem.ai`
- URL: `https://api.vicem.ai/v1/onboarding/complete`
- Auth: HTTP bearer

## Response `200`

OK

- Me
  - `id` string, required
  - `handle` string, required
  - `displayName` string, required
  - `languages` string[], required
  - `greetingLanguage` string
  - `appLanguage` string
  - `timezone` string, required
  - `status` 'onboarding' | 'active' | 'suspended' | 'closed', required
  - `vicemNumber` string, required
  - `vicemNumberLive` boolean
  - `vicemNumberTakesTexts` boolean
  - `vicemNumbers` VicemLine[]
    - `id` string, required
    - `e164` string, required
    - `country` string, required
    - `primary` boolean, required
    - `live` boolean, required
    - `takesTexts` boolean, required
    - `forwards` boolean, required
    - `ownLine` boolean, required
    - `ringFirstSeconds` integer
  - `numberOrder` object, nullable
    - `state` 'buying' | 'failed', required
    - `code` string, nullable, required
    - `country` string, nullable
    - `alternatives` string[]
  - `vicemEmail` string, email, nullable, required
  - `profileUrl` string, uri, nullable, required
  - `plan` string, nullable, required
  - `onboardingCompletedAt` string, date-time, required
  - `entitlements` Entitlements
    - `plan` 'vicem' | 'vicem_plus' | 'vicem_byo' | 'vicem_plus_byo' | 'comp_wave0', required
    - `actLevel` boolean, required
    - `clonedVoice` boolean, required
    - `premiumVoice` boolean, required
    - `outboundTasks` boolean, required
    - `linkNegotiation` boolean, required
    - `minutesIncluded` number, required
    - `minutesUsed` number, required
  - `homeTimezone` string
  - `zoneMode` 'follow' | 'ask' | 'fixed'
  - `pendingZone` string, nullable
  - `trialRequired` boolean
  - `homeCountry` string, nullable
  - `localNumberCountries` string[]
  - `localNumberDocuments` boolean
  - `numberOffers` NumberOffers
    - `home` string, required
    - `recommended` NumberOffer, required
      - `country` string, required
      - `provider` 'telnyx' | 'didww', required
      - `numberType` 'local' | 'national' | 'mobile', required
      - `instant` boolean, required
      - `status` 'instant' | 'form' | 'documents', required
      - `needs` NeedKind[], required
      - `reviewDays` object, nullable, required
        - `typical` number, required
        - `max` number, required
      - `monthlyUsd` number, nullable, required
      - `setupUsd` number, nullable
      - `sms` boolean, required
      - `forwardCost` 'domestic' | 'international' | 'unknown', required
    - `instant` NumberOffer[], required
      - `country` string, required
      - `provider` 'telnyx' | 'didww', required
      - `numberType` 'local' | 'national' | 'mobile', required
      - `instant` boolean, required
      - `status` 'instant' | 'form' | 'documents', required
      - `needs` NeedKind[], required
      - `reviewDays` object, nullable, required
        - `typical` number, required
        - `max` number, required
      - `monthlyUsd` number, nullable, required
      - `setupUsd` number, nullable
      - `sms` boolean, required
      - `forwardCost` 'domestic' | 'international' | 'unknown', required
    - `documents` NumberOffer[], required
      - `country` string, required
      - `provider` 'telnyx' | 'didww', required
      - `numberType` 'local' | 'national' | 'mobile', required
      - `instant` boolean, required
      - `status` 'instant' | 'form' | 'documents', required
      - `needs` NeedKind[], required
      - `reviewDays` object, nullable, required
        - `typical` number, required
        - `max` number, required
      - `monthlyUsd` number, nullable, required
      - `setupUsd` number, nullable
      - `sms` boolean, required
      - `forwardCost` 'domestic' | 'international' | 'unknown', required
    - `interimDefault` string, required
    - `held` object[]
      - `country` string, required
      - `e164` string, required
  - `whatsappCallUrl` string, uri, nullable
  - `purpose` 'me' | 'someone_i_help', nullable
  - `goals` string[]
  - `heardAboutAsk` boolean

## Other responses

- `401`: Missing, expired or invalid bearer token.
- `413`: Body over the limit (64 KB; 512 KB for contact import).
- `500`: Unexpected server error (reported to Sentry).

---

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