---
title: "Onboarding Help"
method: POST
path: "/onboarding/help"
tags: ["onboarding"]
---

# Onboarding Help

`POST /onboarding/help`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/onboarding/help`
- Auth: none declared

Answer one wizard help-chat turn (eligible users; stateless Q&A).

The browser holds the whole conversation and replays it each turn; we render it
into one plain-text LLM-gateway call (no DB, no accountant, no tools — pinned to
the ``onboarding_help_provider``/``_model`` pair) and return a markdown answer
plus up to 3 follow-up ``suggestions``. **404** when the help chat is disabled
(``ONBOARDING_HELP_ENABLED`` off); **503** when the gateway is unreachable/failed.
Rate-limited per user on its own bucket (``ONBOARDING_HELP_LIMIT``) so chatting
never starves the wizard's other LLM calls.

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Request body

- OnboardingHelpRequest: A single help-chat turn. Onboarding is stateless, so the browser holds the whole conversation and replays it (``history``) alongside the new ``question`` and a compact, self-supplied ``draft_context`` (the user's own in-progress data — no company exists yet, so there is nothing cross-tenant to leak). Lengths are bounded to cap prompt tokens; ``history`` is additionally trimmed server-side to ``onboarding_help_history_messages``.
  - `step` string
  - `question` string, required
  - `history` OnboardingHelpMessage[]
    - `role` 'user' | 'assistant', required
    - `text` string, required
  - `draft_context` object, nullable

## Response `200`

Successful Response

- OnboardingHelpResponse: The assistant's markdown answer for one help turn. ``suggestions`` are up to 3 model-proposed follow-up questions (split off the reply's trailing ``###SUGGESTIONS###`` block by ``onboarding/help.py``); empty when the model offered none or the feature is off.
  - `answer` string, required
  - `suggestions` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
