---
title: "POST /v0/responses"
method: POST
path: "/v0/responses"
---

# POST /v0/responses

`POST /v0/responses`

Create a model response

## Request body

- object
  - `include` string[]
  - `input` union[], required
    - union
      - object
        - `type` 'message'
        - `role` 'user' | 'system' | 'developer', required
        - `content` union[], required
          - union
            - object
              - …
            - object
              - …
      - object
        - `id` string, required
        - `type` 'message', required
        - `role` 'assistant', required
        - `status` 'in_progress' | 'completed' | 'incomplete', required
        - `content` union[], required
          - union
            - object
              - …
            - object
              - …
      - object
        - `id` string, required
        - `summary` object[], required
          - `type` 'summary_text', required
          - `text` string, required
        - `type` 'reasoning', required
        - `encrypted_content` string
        - `status` 'in_progress' | 'completed' | 'incomplete'
  - `model` 'witan-alfred' | 'witan-alfred-mini' | 'witan-edward' | 'witan-edward-mini'
  - `stream` boolean

## Response `200`

OK

- object
  - `id` string, required
  - `object` 'response', required
  - `created_at` integer, required
  - `status` 'completed' | 'in_progress' | 'failed', required
  - `output_text` string, required
  - `error` object, nullable, required
    - `code` 'server_error', required
    - `message` string, required
  - `incomplete_details` unknown, required
  - `instructions` unknown, required
  - `metadata` unknown, required
  - `model` 'witan-alfred' | 'witan-alfred-mini' | 'witan-edward' | 'witan-edward-mini', required
  - `output` union[], required
    - union
      - object
        - `id` string, required
        - `type` 'message', required
        - `role` 'assistant', required
        - `status` 'in_progress' | 'completed' | 'incomplete', required
        - `content` union[], required
          - union
            - object
              - …
            - object
              - …
      - object
        - `id` string, required
        - `summary` object[], required
          - `type` 'summary_text', required
          - `text` string, required
        - `type` 'reasoning', required
        - `encrypted_content` string
        - `status` 'in_progress' | 'completed' | 'incomplete'
  - `parallel_tool_calls` false, required
  - `temperature` unknown, required
  - `tool_choice` 'none', required
  - `tools` object[], required
    - `type` string, required
  - `top_p` unknown, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

## Changes

- **2025-12-11** `c17263d22858` — 3 breaking, 3 info
  - removed `subschema #1, subschema #2, subschema #3` from the `input/items/` request property `anyOf` list
  - added `subschema #2, subschema #3, subschema #4, subschema #5, subschema #6, subschema #7, subschema #8, subschema #9` to the response body `oneOf` list for the response status `200` (media type: text/event-stream)
  - added `subschema #1: Response Output Message, subschema #2: Response Reasoning` to the `output/items/` response property `oneOf` list for the response status `200` (media type: application/json)
  - added `subschema #1: Response Input Message, subschema #2: Response Output Message, subschema #3: Response Reasoning` to the `input/items/` request property `anyOf` list
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/witanlabs/apis/witan-labs-api/changes/v0/responses/post.md)

---

[API](https://skmtc.dev/witanlabs/apis/witan-labs-api.md) · [All operations](https://skmtc.dev/witanlabs/apis/witan-labs-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/witanlabs/witan-labs-api/revisions/69e42ddaf375/schema)
