---
title: "Start Consultation"
method: POST
path: "/v1/teams/{team_id}/inbox/consultation"
tags: ["inbox"]
---

# Start Consultation

`POST /v1/teams/{team_id}/inbox/consultation`

## Request

- Base URL: `https://api.stormy.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stormy.ai/v1/teams/{team_id}/inbox/consultation`
- Auth: none declared

HE PRESSED CHAT BY TEXT (owner, 2026-10-06: "on click it should start the
SLACK thingy and show … the input options what kinda of company he is").

The Home first (`workspace_home.open_before_desks`, the skip's one commit),
then the thread: Stormy's opening question at `home/consultation.md`, an
ordinary ask with presses. Nothing is woken — his answer is what wakes
Stormy, through `POST /act` like any ask. Once filed, every press opens the
same thread.

## Path parameters

- `team_id` string, uuid, required

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable

## Request body

- ConsultationStart
  - `question` OpeningQuestion: The thread's first message, as the read writes it — and as the client hands it back.
    - `title` string, required: The question, short, as he would read it in his Inbox.
    - `needs` string, required: Your opening message on the thread: at most two short sentences ending on the one question.
    - `choices` string[], required: When you have a reading of which business is his: confirm it first, the alternative after. When you have none: an empty list.
    - `guess` string, required: The confirming choice when you have a reading, exactly as written in choices; empty otherwise.

## Response `200`

Successful Response

- ConsultationStarted
  - `ok` boolean
  - `item` InboxItem: ONE ASK, AND EVERYTHING THAT HAPPENED TO IT. The first block is the rail's `StationPin`, field for field and meaning for meaning, so the page can draw an Inbox row with the same parts as a pinned ask. The second is the `inbox.*` keys on the record, read back.
    - `ref` string, required
    - `path` string, required
    - `assignee` string, nullable
    - `desk` string
    - `desk_title` string
    - `title` string, required
    - `needs` string, required
    - `who` string
    - `at` string
    - `rank` integer, nullable
    - `urgent` boolean
    - `stakes` string
    - `ask` string
    - `choices` string
    - `choice_images` object
    - `choice_pick` string
    - `range` string
    - `unit` string
    - `at_point` string
    - `state` 'open' | 'processing' | 'snoozed' | 'done' | 'resolved' | 'answered', required
    - `asked` string
    - `answer` string
    - `answered_at` string
    - `outcome` string
    - `outcome_at` string
    - `learned` string
    - `snoozed_until` string
    - `seen` boolean
    - `seen_at` string
    - `changes` string[], nullable
    - `nudges` integer
    - `nudged_at` string
    - `started` boolean
    - `followup` string
    - `followed_at` string
    - `draft` string
    - `request` string
    - `pictures` InboxPicture[]
      - `kind` 'shot' | 'receipt', required
      - `artifact` string
      - `src` string
      - `href` string
      - `caption` string
    - `icon` string
    - `kind` string
    - `reopened_at` string
    - `reopened_by` string
    - `reopened_with` string
    - `route` string
    - `taken_at` string
    - `unarchived_at` string
    - `sealed` boolean
    - `page` boolean
    - `pageless` boolean
    - `archived` boolean
    - `setup_kind` string
    - `setup_app` string
    - `setup_order` integer
    - `setup_choices` string[]
    - `connect_apps` InboxConnectApp[]
      - `slug` string, required
      - `name` string, required
    - `set_aside` boolean
  - `home` string
  - `filed` boolean

## Other responses

- `422`: Validation Error

## Changes

> 68 revisions in range; 1 not diffed.

- **2026-10-15** `22181872bb36`: 2 info
  - added the optional property `item/anyOf[subschema #1: InboxItem]/changes` to the response with the `200` status
  - added the optional property `item/anyOf[subschema #1: InboxItem]/seen_at` to the response with the `200` status
- **2026-10-14** `f65dcc3528d4`: 1 info
  - added the optional property `item/anyOf[subschema #1: InboxItem]/assignee` to the response with the `200` status
- **2026-10-13** `03c3bc288df4`: 6 info
  - added the optional property `item/anyOf[subschema #1: InboxItem]/connect_apps` to the response with the `200` status
  - added the optional property `item/anyOf[subschema #1: InboxItem]/set_aside` to the response with the `200` status
  - added the optional property `item/anyOf[subschema #1: InboxItem]/setup_app` to the response with the `200` status
  - added the optional property `item/anyOf[subschema #1: InboxItem]/setup_choices` to the response with the `200` status
  - …2 more
- **2026-10-11** `dbc505fd8667`: 1 info
  - added the optional property `item/anyOf[subschema #1: InboxItem]/archived` to the response with the `200` status
- **2026-10-07** `534eae1fcead`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/inbox/consultation/post.md)

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/a40e83844eaa?raw)
