---
title: "OpenAI Responses"
method: POST
path: "/v1/responses"
---

# OpenAI Responses

`POST /v1/responses`

## Request

- Base URL: `https://api.agentlab.cresclab.com`
- URL: `https://api.agentlab.cresclab.com/v1/responses`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway/docs/v1/responses/post.ts> (a function with typed inputs; its response is checked against the schema)

Relayed to an OpenAI model as sent, apart from model; store is sent as false. previous_response_id, conversation, prompt, item references, file_search and image_generation are refused.

## Headers

- `X-AgentLab-Routing` 'auto' | 'auto:cost' | 'auto:balanced' | 'auto:quality'
- `Idempotency-Key` string

## Request body

- object
  - `model` string, required
  - `input` unknown, required
  - `user` string: Recorded as the request's end user.

## Response `200`

The model's answer, or a text/event-stream when stream is true.

- object

## Other responses

- `400`: Refused request. See the error catalog.
- `401`: Missing or not accepted key.
- `403`: Not allowed for this key or workspace.
- `429`: Rate limited or out of allowance. Retry-After and X-Should-Retry say whether to retry.
- `502`: The provider failed to answer.
- `503`: Gateway unavailable or settlement pending.

---

[API](https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway.md) - [All operations](https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway/llms.txt) - [OpenAPI document](https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway/revisions/5dc08011cbe9?raw)
