POST /v1/responses — основной интерфейс Codex для этого подключения. Поддерживаются текстовые запросы и история, instructions, клиентские функции, обычные и потоковые ответы. Режимов ключа нет; серверный промпт настраивается отдельно.
| Вход | Поддержка |
|---|---|
input | Строка или массив message items с input_text; также function_call и function_call_output для продолжения client-tool цикла |
| Генерация | max_output_tokens, stream; применение temperature и top_p зависит от модели и thinking |
| Client tools | Функции type: "function", tool_choice и совместимый parallel tool loop; функцию выполняет клиент |
| Ответ | output_text и function_call; streaming завершается response.completed, а обрезка по лимиту получает status: "incomplete" |
bash
curl https://api.guardrelay.ai/v1/responses \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5",
"instructions": "Отвечай кратко",
"input": "Проверка связи: ответь OK",
"max_output_tokens": 64
}'- PDF /
input_file,input_image, native citations и server-side Web/MCP tools не входят в контракт Responses. Для PDF и изображений используйте Messages. top_k, явныйcache_control, native thinking/reasoning blocks и structuredtext.formatне входят в поддержанный контракт.claude-fable-5иclaude-fable-5-1доступны здесь только без применённого серверного промпта, включая поток и клиентские функции. Ограничения типов данных этого endpoint сохраняются.- Явно запрещённые типы или семантика получают локальный
400до списания. Compatibility-only поля вродеprevious_response_id,include,truncationилиprompt_cache_keyмогут быть приняты без эффекта — полагаться на них нельзя.
Здесь работают все три семейства: Kimi, Composer и Grok. Поверхность одна и та же, короче у них только список принимаемых полей.
Kimi здесь обслуживается: ключ и адрес обычные, в поле model точный id Kimi, текст или история кладутся в input. Готовая настройка Codex на этой поверхности собрана на странице Codex. Если вашему клиенту привычнее OpenAI Chat Completions, тот же ключ работает и там.
bash
curl -X POST https://api.guardrelay.ai/v1/responses \
-H "Authorization: Bearer gd-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "k3",
"input": "Привет!",
"max_output_tokens": 128
}'bash
curl https://api.guardrelay.ai/v1/responses \
-H "Authorization: Bearer gd-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "cursor-grok-4.6-low",
"instructions": "Отвечай кратко",
"input": "Проверка связи: ответь OK",
"max_output_tokens": 64
}'bash
curl https://api.guardrelay.ai/v1/responses \
-H "Authorization: Bearer gd-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "composer-2.5",
"instructions": "Отвечай кратко",
"input": "Проверка связи: ответь OK",
"max_output_tokens": 64
}'| Что | Как у Composer и Grok |
|---|---|
| Поля запроса | model, input, instructions, max_output_tokens, stream, tools |
input | строка либо массив элементов type: "message" с ролями user, assistant, system, developer |
| Блоки содержимого | input_text и output_text с ключами type и text; cache_control принимается и игнорируется; у Grok дополнительно input_image с инлайн base64 |
function_call, function_call_output | часть цикла клиентских инструментов, обслуживаются |
web_search_call, file_search_call, computer_call и другие провайдерские элементы | отклоняются с 400 cursor_client_tools_unavailable |
reasoning, temperature, top_p, store, include, truncation, metadata, previous_response_id, prompt_cache_key, thinking | принимаются и молча отбрасываются |
parallel_tool_calls: true, service_tier auto/default, tool_choice: "auto" | принимаются только в значении по умолчанию |
text, любое другое значение полей выше | не принимаются, 400 cursor_parameter_unavailable |
| Ответ | status: "completed", текст в output_text и в output[0].content[0].text, кэш в usage.input_tokens_details.cached_tokens |
| Ответ с вызовом инструмента | в output добавляется элемент type: "function_call" с call_id, name и arguments; на него отвечают элементом function_call_output в следующем запросе |