# Responses

> POST /v1/responses — формат OpenAI Responses, на котором работает Codex.

`POST /v1/responses` — формат OpenAI Responses. На нём работает Codex CLI
(`wire_api = "responses"`, см. [Codex CLI](https://ai-seller.vibe-codes.ru/docs/codex)).

## Запрос

```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": "Отвечай кратко.",
    "input": "Сколько планет в Солнечной системе?",
    "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="Отвечай кратко.",
    input="Сколько планет в Солнечной системе?",
    max_output_tokens=200,
)
print(resp.output_text)
```

## Ответ

```json
{
  "id": "resp_...",
  "object": "response",
  "model": "gpt-5.6-sol",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [{"type": "output_text", "text": "Восемь."}]
    }
  ],
  "usage": {"input_tokens": 20, "output_tokens": 3, "total_tokens": 23}
}
```

## Особенности

- **Без состояния у провайдера.** `store` всегда `false`; `previous_response_id`,
  `conversation`, `prompt` и `"background": true` отклоняются с
  `400 unsupported_parameter`. Передавайте всю историю в `input` каждого запроса
  — Codex так и делает.
- **Параметры называются по-своему:** `max_output_tokens` вместо `max_tokens`,
  `reasoning.effort` вместо `reasoning_effort`, `text.format` вместо
  `response_format`. Параметры из Chat Completions здесь молча вырезаются.
- **Инструменты:** `function`, `custom`, `namespace`, `apply_patch`,
  `local_shell`, `computer`, `tool_search` и `shell` с локальным окружением.
  Встроенные инструменты провайдера (веб-поиск, исполнение кода, поиск по
  файлам) вырезаются.
- **Стриминг** — `"stream": true`, события `response.*`; usage есть в
  `response.completed`. См. [Стриминг](https://ai-seller.vibe-codes.ru/docs/streaming).

Полный список параметров — в разделе [Параметры запроса](https://ai-seller.vibe-codes.ru/docs/params).
