---
title: "Create a model response (Responses API)"
method: POST
path: "/v1/responses"
tags: ["responses"]
---

# Create a model response (Responses API)

`POST /v1/responses`

## Request body

- CoreResponsesRequest
  - `input` union — string or []ResponsesInputElement — see docs for array form
    - string
    - CoreResponsesInputElement[]
      - `arguments` string
      - `call_id` string — Function call fields (type="function_call")
      - `content` union — Can be string or []ContentPart
        - string
        - CoreContentPart[]
          - `image_url` CoreImageURLContent
            - `detail` string
            - `media_type` string
            - `url` string
          - `input_audio` CoreInputAudioContent
            - `data` string
            - `format` string
          - `text` string
          - `type` string
      - `name` string
      - `output` string — Function call output fields (type="function_call_output") - CallID shared above
      - `role` string — Message fields (type="" or "message")
      - `status` string
      - `type` string — "message", "function_call", "function_call_output"
  - `instructions` string
  - `max_output_tokens` integer
  - `metadata` object
  - `model` string
  - `parallel_tool_calls` boolean
  - `provider` string — Gateway routing hint; stripped before upstream execution.
  - `reasoning` CoreReasoning
    - `effort` string — Effort controls how much reasoning effort the model should use. Valid values are "low", "medium", and "high".
  - `stream` boolean
  - `stream_options` CoreStreamOptions
    - `include_usage` boolean — IncludeUsage requests token usage information in streaming responses. When true, the final streaming chunk will include usage statistics.
  - `temperature` number
  - `tool_choice` unknown
  - `tools` object[]

## Response `200`

JSON response or SSE stream when stream=true

- CoreResponsesResponse
  - `created_at` integer
  - `error` CoreResponsesError
    - `code` string
    - `message` string
  - `id` string
  - `model` string
  - `object` string — "response"
  - `output` CoreResponsesOutputItem[]
    - `arguments` string
    - `call_id` string
    - `content` CoreResponsesContentItem[]
      - `annotations` object[] — Providers can return structured annotation objects here (for example citations from native tools), so keep the payload shape liberal.
      - `image_url` CoreImageURLContent
        - `detail` string
        - `media_type` string
        - `url` string
      - `input_audio` CoreInputAudioContent
        - `data` string
        - `format` string
      - `text` string
      - `type` string — "output_text", "input_image", "input_audio", etc.
    - `id` string
    - `name` string
    - `role` string
    - `status` string
    - `type` string — "message", "function_call", etc.
  - `provider` string
  - `status` string — "completed", "failed", "in_progress"
  - `usage` CoreResponsesUsage
    - `completion_tokens_details` CoreCompletionTokensDetails
      - `accepted_prediction_tokens` integer
      - `audio_tokens` integer
      - `reasoning_tokens` integer
      - `rejected_prediction_tokens` integer
    - `input_tokens` integer
    - `output_tokens` integer
    - `prompt_tokens_details` CorePromptTokensDetails
      - `audio_tokens` integer
      - `cached_tokens` integer
      - `image_tokens` integer
      - `text_tokens` integer
    - `raw_usage` object
    - `total_tokens` integer

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Too Many Requests
- `502` — Bad Gateway

## Changes

- **2026-04-19** `1a90f5d80e5a` — 48 warning, 9 info
  - removed the optional property `code` from the response with the `400` status (media type: application/json)
  - removed the optional property `code` from the response with the `400` status (media type: text/event-stream)
  - removed the optional property `code` from the response with the `401` status (media type: application/json)
  - removed the optional property `code` from the response with the `401` status (media type: text/event-stream)
  - …53 more

[Change history](https://skmtc.dev/enterpilot/apis/gomodel-api/changes/v1/responses/post.md)

---

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