> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cogito.decart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create response

> POST /v1/responses

OpenAI-compatible Responses endpoint for stateless text generation and
function-tool workflows. Streaming and non-streaming requests use the same
authentication, model access, usage accounting, and billing as chat
completions.

<Warning>
  This endpoint is stateless. It does not store response objects or support
  background responses, conversations, or `previous_response_id`. Send the
  complete request state in `input` on every call.
</Warning>

## Request body

<ParamField body="model" type="string" required>
  Model slug from the [catalog](/getting-started/models).
</ParamField>

<ParamField body="input" type="string | array" required>
  A text prompt or an array of Responses input items. Message items,
  `function_call`, and `function_call_output` are supported. Vision-capable
  models also accept URL or inline-data `input_image` parts.
</ParamField>

<ParamField body="instructions" type="string">
  System or developer instructions for this response.
</ParamField>

<ParamField body="stream" type="boolean" default="false">
  When `true`, returns typed Server-Sent Events such as
  `response.output_text.delta` and `response.completed`.
</ParamField>

<ParamField body="max_output_tokens" type="integer">
  Maximum output tokens. The gateway caps this at the model's
  `max_output_length`.
</ParamField>

<ParamField body="tools" type="array">
  Function tools the model may call. Hosted tools such as web search, file
  search, computer use, code interpreter, shell, and MCP are not supported.
</ParamField>

<ParamField body="tool_choice" type="string | object" default="auto">
  Function-tool selection using the OpenAI Responses shape.
</ParamField>

<ParamField body="parallel_tool_calls" type="boolean">
  Allow the model to return multiple function calls in one response.
</ParamField>

<ParamField body="reasoning" type="object">
  Reasoning configuration. `reasoning.effort` is forwarded to compatible
  models.
</ParamField>

<ParamField body="text" type="object">
  Text output configuration. `text.format` accepts text, JSON object, and JSON
  schema formats on models that support structured outputs.
</ParamField>

<ParamField body="store" type="boolean" default="false">
  Must be `false` when provided. Cogito does not persist response objects.
</ParamField>

## Example

```bash theme={null}
curl https://api.cogito.decart.ai/v1/responses \
  -H "Authorization: Bearer $COGITO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moonshotai/kimi-k2.6",
    "input": "Write a one-line release note.",
    "max_output_tokens": 128,
    "store": false
  }'
```

## Unsupported features

The gateway returns `400 unsupported_feature` before inference for:

* `store: true`, `background: true`, `previous_response_id`, `conversation`,
  hosted `prompt`, and `max_tool_calls`
* automatic truncation (`truncation: "auto"`)
* hosted or custom non-function tools and their history items
* file, audio, and video input; image file IDs; and output logprobs

Only `POST /v1/responses` is exposed. Retrieve, delete, input-items, and cancel
routes are not available.

## Streaming

Streaming responses preserve the Responses API's typed SSE events. Usage is
read from the terminal response event for billing. Provider-private `nvext`
fields are removed before events leave the public gateway.
