---
title: "Onboarding Intake"
method: POST
path: "/onboarding/intake"
tags: ["onboarding"]
---

# Onboarding Intake

`POST /onboarding/intake`

Drive one turn of the conversational onboarding intake.

Accepts either ``text`` or ``audio`` (exactly one). Returns an
``application/x-ndjson`` stream with the per-turn event sequence:
``session`` → optional ``transcribing``/``transcribed`` →
``thinking`` → ``writes`` → ``agent_reply`` → ``done``. Heartbeats
(``{"event": "heartbeat"}``) keep the socket alive during slow
steps.

## Query parameters

- `user_id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/imperfect/apis/imperfect-api.md) · [All operations](https://skmtc.dev/imperfect/apis/imperfect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/imperfect/imperfect-api/revisions/55d56c4beab4/schema)
