# Responses

> POST /v1/responses — the OpenAI Responses format that Codex uses.

`POST /v1/responses` is the OpenAI Responses format. Codex CLI runs on it
(`wire_api = "responses"`, see [Codex CLI](https://ai-seller.vibe-codes.ru/en/docs/codex)).

## Request

```bash [curl]
curl https://ai-seller.vibe-codes.ru/v1/responses \
  -H "Authorization: Bearer $AISELLER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "instructions": "Answer briefly.",
    "input": "How many planets are in the Solar System?",
    "max_output_tokens": 200
  }'
```

```python [Python]
from openai import OpenAI

client = OpenAI(base_url="https://ai-seller.vibe-codes.ru/v1", api_key="$AISELLER_API_KEY")
resp = client.responses.create(
    model="gpt-5.6-sol",
    instructions="Answer briefly.",
    input="How many planets are in the Solar System?",
    max_output_tokens=200,
)
print(resp.output_text)
```

## Response

```json
{
  "id": "resp_...",
  "object": "response",
  "model": "gpt-5.6-sol",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [{"type": "output_text", "text": "Eight."}]
    }
  ],
  "usage": {"input_tokens": 20, "output_tokens": 2, "total_tokens": 22}
}
```

## Specifics

- **No provider-side state.** `store` is always `false`; `previous_response_id`,
  `conversation`, `prompt` and `"background": true` are rejected with
  `400 unsupported_parameter`. Send the whole history in `input` of every
  request — Codex already does.
- **Parameters have their own names:** `max_output_tokens` instead of
  `max_tokens`, `reasoning.effort` instead of `reasoning_effort`, `text.format`
  instead of `response_format`. Chat Completions parameters are silently
  stripped here.
- **Tools:** `function`, `custom`, `namespace`, `apply_patch`, `local_shell`,
  `computer`, `tool_search` and `shell` with a local environment. The
  provider's built-in tools (web search, code execution, file search) are
  stripped.
- **Streaming** — `"stream": true`, `response.*` events; usage is in
  `response.completed`. See [Streaming](https://ai-seller.vibe-codes.ru/en/docs/streaming).

The full parameter list is in [Request parameters](https://ai-seller.vibe-codes.ru/en/docs/params).
