curl --request POST \
--url https://ai.{environment}.corti.app/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "corti-s1",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Count from 1 to 5"
}
]
}
]
}
'{
"id": "<string>",
"object": "response",
"created_at": 123,
"model": "<string>",
"status": "completed",
"incomplete_details": {
"reason": "max_output_tokens"
},
"instructions": "<string>",
"output": [
{
"id": "<string>",
"type": "message",
"role": "assistant",
"status": "completed",
"phase": "<string>",
"content": [
{
"text": "<string>",
"type": "output_text",
"annotations": [
"<unknown>"
],
"logprobs": {}
}
]
}
],
"temperature": 123,
"top_p": 123,
"tool_choice": "<string>",
"tools": "<array>",
"max_output_tokens": 123,
"previous_response_id": "<string>",
"usage": {
"input_tokens": 123,
"output_tokens": 123,
"total_tokens": 123,
"input_tokens_details": {
"cached_tokens": 123,
"input_tokens_per_turn": [
"<unknown>"
],
"cached_tokens_per_turn": [
"<unknown>"
]
},
"output_tokens_details": {
"reasoning_tokens": 123,
"tool_output_tokens": 123,
"output_tokens_per_turn": [
"<unknown>"
],
"tool_output_tokens_per_turn": [
"<unknown>"
]
}
},
"service_tier": "<string>",
"truncation": "<string>",
"background": true,
"parallel_tool_calls": true,
"max_tool_calls": 123,
"text": "<string>",
"top_logprobs": 123,
"reasoning": "<string>",
"prompt": "<string>",
"metadata": {},
"user": "<string>",
"presence_penalty": 123,
"frequency_penalty": 123,
"kv_transfer_params": {},
"input_messages": "<array>",
"output_messages": "<array>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Create response
Creates a model response for the given input. This is the OpenAI Responses API. Supports instructions (system message equivalent), streaming, tool calling, JSON mode, and multi-turn conversations.
When present, reasoning is returned as a structured output item with type: "reasoning", separate from the message output.
curl --request POST \
--url https://ai.{environment}.corti.app/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "corti-s1",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Count from 1 to 5"
}
]
}
]
}
'{
"id": "<string>",
"object": "response",
"created_at": 123,
"model": "<string>",
"status": "completed",
"incomplete_details": {
"reason": "max_output_tokens"
},
"instructions": "<string>",
"output": [
{
"id": "<string>",
"type": "message",
"role": "assistant",
"status": "completed",
"phase": "<string>",
"content": [
{
"text": "<string>",
"type": "output_text",
"annotations": [
"<unknown>"
],
"logprobs": {}
}
]
}
],
"temperature": 123,
"top_p": 123,
"tool_choice": "<string>",
"tools": "<array>",
"max_output_tokens": 123,
"previous_response_id": "<string>",
"usage": {
"input_tokens": 123,
"output_tokens": 123,
"total_tokens": 123,
"input_tokens_details": {
"cached_tokens": 123,
"input_tokens_per_turn": [
"<unknown>"
],
"cached_tokens_per_turn": [
"<unknown>"
]
},
"output_tokens_details": {
"reasoning_tokens": 123,
"tool_output_tokens": 123,
"output_tokens_per_turn": [
"<unknown>"
],
"tool_output_tokens_per_turn": [
"<unknown>"
]
}
},
"service_tier": "<string>",
"truncation": "<string>",
"background": true,
"parallel_tool_calls": true,
"max_tool_calls": 123,
"text": "<string>",
"top_logprobs": 123,
"reasoning": "<string>",
"prompt": "<string>",
"metadata": {},
"user": "<string>",
"presence_penalty": 123,
"frequency_penalty": 123,
"kv_transfer_params": {},
"input_messages": "<array>",
"output_messages": "<array>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Authorizations
Use a Corti-issued bearer token.
Body
corti-s1, corti-s1-instant, corti-s1-mini, corti-s1-mini-instant Input messages as an array of message objects. Each message has a role and a content array of typed parts.
Show child attributes
Show child attributes
System-level instructions. Equivalent to a system message in chat completions.
If true, returns Server-Sent Events (SSE) with typed events (response.created, response.in_progress, response.output_item.added, response.output_text.delta, response.completed).
0 <= x <= 1Maximum output tokens. If exceeded, the response status is incomplete with incomplete_details.reason: "max_output_tokens".
x >= 1Show child attributes
Show child attributes
Tools the model may call.
Show child attributes
Show child attributes
auto, none Response
Successful response. For non-streaming requests, returns a complete response object. For streaming requests, returns Server-Sent Events (SSE) with typed events.
Unique response ID (e.g. resp_88d5b93fd2e7b7b1).
response Unix timestamp (seconds).
The model name used for this response.
incomplete when max_output_tokens is hit before generation finishes.
completed, incomplete Show child attributes
Show child attributes
Array of output items. May include reasoning items with type: "reasoning", message items with type: "message", and function call items with type: "function_call".
- Message
- Function Call
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Reasoning is returned in output[] items.
Was this page helpful?