---
title: "Start onboarding from a website or a written brief"
method: POST
path: "/api/v1/onboarding/start"
tags: ["onboarding"]
---

# Start onboarding from a website or a written brief

`POST /api/v1/onboarding/start`

## Request

- Base URL: `https://api.cadencz.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.cadencz.com/api/v1/onboarding/start`
- Auth: HTTP bearer

## Request body

- OnboardingStartRequest
  - `url` string, nullable: The website to analyze.
  - `brief` string, nullable: A written description of the product, used instead of a website: what it is, who it is for, the problem, the benefits, the tone.
  - `company_name` string, nullable: The brand or product name. Required with a brief.
  - `platforms` string[], nullable: Where the first week should be written for. Saved to the strategy before the run starts.
  - `goals` string[], nullable: What the posts are for — ids from the goal catalogue (promote, learnings, engage, build_in_public, grow, authority). Saved to the strategy before the run.
  - `brain_id` string, nullable: Target an existing brain.
  - `new_brain` boolean: Force a fresh brain (plan-capped).
  - `refresh` boolean: Re-read the brain's data only — its plan is left untouched.

## Response `201`

Successful Response

- OnboardingRunRead
  - `id` string, required
  - `source_kind` string
  - `url` string, nullable
  - `company_name` string, nullable
  - `status` string, required
  - `current_step` string, nullable
  - `steps` OnboardingStepRead[]
    - `key` string, required
    - `label` string, required
    - `status` string, required
    - `detail` string
    - `started_at` string, nullable
    - `finished_at` string, nullable
  - `error` string, nullable
  - `brain_id` string, nullable
  - `content_plan_id` string, nullable
  - `created_at` string, date-time, required
  - `finished_at` string, date-time, nullable

## Other responses

- `401`: Missing or invalid Supabase bearer token.
- `409`: The requested state transition is not allowed.
- `422`: Validation Error

---

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