POST Responses
Responses API — OpenAI-совместимый формат запросов с tool calling и streaming
О Responses API
Responses API — формат, совместимый с OpenAI Responses API. Работает с официальным OpenAI SDK (client.responses.create(...)), Codex CLI и другими каноничными клиентами. Внутри запрос
трансформируется в Chat Completions и уходит выбранному провайдеру.
Эндпоинты:
/v2/responses и /v2/responses/compact — алиасы, поведение идентично.
previous_response_id, conversation и store
не поддерживаются. Всю историю диалога — включая вызовы инструментов — передавайте в input
каждым запросом. Методов GET /v1/responses/{id}, DELETE и /cancel нет.Основные параметры
Alias-формат модели
К имени модели можно дописать параметры маршрутизации через@:
provider, reasoning_effort, allow_fallbacks. При конфликте alias
и одноимённого поля в теле запроса API вернёт 400.
Дополнительные параметры
Не поддерживаются
Эти поля принимаются ради совместимости с OpenAI SDK, но не влияют на результат:Примеры
Структура ответа
status — completed, incomplete или failed. При incomplete заполняется
incomplete_details.reason (max_output_tokens или content_filter).
В usage поля продублированы в двух неймингах: input_tokens/output_tokens (Responses API)
и prompt_tokens/completion_tokens (Chat Completions) — используйте любой. cost_rub —
фактическая стоимость запроса, списанная с баланса.
Tool calling
Поддерживается полный цикл: передачаtools → получение function_call → отправка результата
через function_call_output → финальный ответ модели.
Типы инструментов
1. Запрос с инструментами
2. Ответ с вызовом инструмента
3. Возврат результата инструмента
Выполните функцию на своей стороне и отправьте новый запрос со всей историей: исходное сообщение пользователя, itemfunction_call и item function_call_output с тем же call_id.
tools второго запроса передайте те же определения инструментов, что и в первом.
Типы input items
Мультимодальный input
Вcontent сообщения можно передать массив частей:
Streaming
Приstream: true ответ приходит в формате SSE. Имена и порядок событий соответствуют
спецификации OpenAI Responses API, поэтому работают официальный OpenAI SDK и Codex CLI.
События
response.output_item.done с
item.type = "function_call": в нём полные name, arguments и call_id.
Особенности
- Каждое событие несёт монотонный
sequence_number— используйте его для упорядочивания. - Стрим завершается строкой
data: [DONE]. Она нужна ChatCompletion-подобным клиентам, каноничные клиенты Responses API её игнорируют. - При долгом ожидании ответа провайдера сервер шлёт SSE-комментарии
: processing— игнорируйте строки, начинающиеся с:. - Если модель вызывает несколько инструментов параллельно, у каждого свой
output_index. - При ошибке посреди стрима приходит терминальное
response.failed, стрим не обрывается молча.
Компактизация истории
POST /v1/responses/compact укорачивает историю диалога, когда она перестаёт помещаться в
контекст. Полезно агентским клиентам с длинными сессиями.
Сервер сохраняет все инструкции (system и developer), последние keep_last сообщений и все
структурные items (function_call, function_call_output, reasoning), а вытесненные текстовые
сообщения сворачивает в один summary-плейсхолдер. Обращения к модели не происходит — метод
бесплатный и синхронный.
input передайте полную историю input items. Ответ содержит укороченную историю, которую нужно
передать в следующий POST /v1/responses:
keep_last по умолчанию — 6.
Следующие шаги
Вызов функций
Codex CLI
Структурный вывод
Выбор провайдера
Авторизации
API ключ передаётся в заголовке: Authorization: Bearer <POLZA_AI_API_KEY>
Тело
Input for response - can be string or array of messages
"Hello, how are you?"
Model to use
"openai/gpt-4"
System instructions
"You are a helpful assistant"
Metadata key-value pairs
Tools available for the model
Tool choice strategy
none, auto, required "auto"
Enable parallel tool calls
Alternative models to try
Text output configuration
Reasoning configuration
Maximum output tokens
1000
Temperature (0-2)
0 <= x <= 20.7
Top P (nucleus sampling)
0 <= x <= 11
Top logprobs
0 <= x <= 205
Maximum tool calls
5
Presence penalty (-2 to 2)
-2 <= x <= 2Frequency penalty (-2 to 2)
-2 <= x <= 2Top K sampling
40
Image configuration options
Output modalities
text, image Prompt cache key
Previous response ID
Enable streaming
Provider preferences
Уникальный идентификатор конечного пользователя для отслеживания и предотвращения злоупотреблений
"user-123"
Session identifier (max 128 chars)
Плагины для расширения функциональности (web search, file parser и др.)
Ответ
Response ID
"gen_581761234567890123"
response "response"
Created timestamp
1234567890
Model used
"openai/gpt-4"
completed, incomplete, in_progress, failed, cancelled, queued "completed"
Full output text (convenience field)
"Hello! How can I help you today?"
Output items array
Completed timestamp
Error information
Details about incomplete response
Usage information
Metadata key-value pairs