AI Proxy (Preview)
POST/api/v2/aiproxy/responses
> ๐งช Preview โ This endpoint is in preview and its contract may change.
Executes an AI Proxy agent through an OpenAI-compatible Responses API. Call it with the OpenAI SDKs by pointing the base URL at this route and passing your Serenity API key as a Bearer token.
Select the agent with the standard model property using the format agentCode:vendor:model (e.g. generic-proxy:OpenAI:gpt-5.4-mini). Use extra_body for execution attribution only (channel, user_identifier, group_identifier).
The tools array accepts OpenAI function (client) tools โ declaration-only: when the model calls one, it emits a function_call output item that is returned to you to run, and you replay it plus a function_call_output on a follow-up request โ and AI Proxy server tools that run entirely on the server: web_search, image_generation, speech_generation and workbench. For each server tool, model/vendor (and voice/speed for speech_generation) are optional and fall back to the agent's configured defaults.
When stream is true, the response is delivered as Server-Sent Events (SSE).
Requestโ
Query Parameters
Use this param to override the culture of the response. Options: - en (default) - es
- application/json
Body
required
- ResponseTextFormatConfigurationText
- ResponseTextFormatConfigurationJsonObject
- ResponseTextFormatConfigurationJsonSchema
extra_body
object
The OpenAI extra_body extension object of an AI Proxy request. Carries fields that are not part of the standard OpenAI request body but are used to attribute the AI Proxy agent execution. The agent, vendor and model are selected through the standard model property (agentCode:vendor:model), not here.
The channel the execution is attributed to.
Identifies the end user the execution is attributed to (usage tracking and per-user attribution).
Identifies the group the execution is attributed to.
input
object
required
agent
object
reasoning
object
metadata
object
nullable
conversation
object
metadata
object
nullable
prompt
object
variables
object
nullable
stream_options
object
text
object
format
object
nullable
oneOf
Responsesโ
- 200
- 400
- 401
- 403
- 500
OK
There was a validation error. Please check your request data.
- application/json
- Schema
- Example (from schema)
Schema
errors
object
nullable
{
"message": "string",
"errors": {}
}
The user is unauthorized or the session expired
The user does not have permission
There was an unexpected error