Responses
OpenAI-compatible Responses API, with optional stored threads. Reference for API version 2026-11-11.
On this page
Create a response
/api/v1/llm/v1/responses OpenAI-compatible Responses API. With store: true the completed response is kept for 30 days by default so a later request can continue it with previous_response_id; storing and threading need an organization-bound user (403 otherwise). Hosted tools are not supported and are dropped; function tools work. Requires llm:access or llm:chat.
Authentication
- API key in X-API-Key
- API key or session token in Authorization: Bearer
Headers
Idempotency-KeystringRun this exact request at most once in 24 hours. A replay with the same key and the same body, from the same organization, user and API key, is refused with
409before any model call. See the Idempotency guide.- Minimum length
1
Request body
modelstring- Default
nebula-4.5
inputstring or array of objects RequiredA string, or an array of input items (messages, function_call_output).
instructionsstring or nullmax_output_tokensinteger or null- Minimum
1
temperaturenumber or null- Minimum
0- Maximum
2
top_pnumber or null- Minimum
0- Maximum
1
reasoningobject or null1 field in
reasoningeffortstring or null
toolsarray of objects or nullFunction tools. Hosted tools are not supported and are dropped.
tool_choicestring or object or nullparallel_tool_callsboolean or nullstreamboolean or null- Default
false
storeboolean or nullKeep the completed response (30 days by default) for retrieval and
previous_response_id.previous_response_idstring or nullContinue a stored response you own. An id you do not own contributes no history.
metadataobject or nulluserstring or null
Responses
200Aresponseobject, or withstream: trueatext/event-streamofresponse.*events.Body (application/json)
idstringobjectstring- Always
response
created_atintegermodelstringstatusstring- Examples
completedin_progressfailed
outputarray of objectsoutput_textstringusageobject
402The organization has no spendable credit, or its self-service spend cap is reached. Top up or raise the cap in the console. This status currently carriesmessage: "Error"andcode: "INTERNAL_9001"; rely on the HTTP status.Error envelope409This exact request (sameIdempotency-Keyand body) already ran, so it was not run again. Send a newIdempotency-Keyto run it again.Error envelope429A per-key request limit was exceeded, or the rate limiter could not be reached (it fails closed). There is noRetry-Afterfor a window limit; wait for the next window. A concurrency limit, when configured, also returns429, withRetry-After.Error envelope
Example
curl -X POST "https://api.breachline.io/api/v1/llm/v1/responses" \
-H "Authorization: Bearer $BREACHLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nebula-4.5",
"instructions": "Answer in two sentences.",
"input": "What does an SSRF finding let an attacker do?",
"store": true
}'
{
"id": "string",
"object": "response",
"created_at": 0,
"model": "string",
"status": "completed",
"output": [
{}
],
"output_text": "string",
"usage": {}
}
Retrieve a stored response
/api/v1/llm/v1/responses/{response_id} Returns a response stored with store: true. Stored responses belong to the user and organization that created them, so any key or session of that user in that organization can read them; anyone else gets 404.
Authentication
- API key in X-API-Key
- API key or session token in Authorization: Bearer
Path parameters
response_idstring Required
Responses
200The stored response.Body (application/json)
idstringobjectstring- Always
response
created_atintegermodelstringstatusstring- Examples
completedin_progressfailed
outputarray of objectsoutput_textstringusageobject
Example
curl "https://api.breachline.io/api/v1/llm/v1/responses/{response_id}" \
-H "Authorization: Bearer $BREACHLINE_API_KEY"
{
"id": "string",
"object": "response",
"created_at": 0,
"model": "string",
"status": "completed",
"output": [
{}
],
"output_text": "string",
"usage": {}
}
Delete a stored response
/api/v1/llm/v1/responses/{response_id} Authentication
- API key in X-API-Key
- API key or session token in Authorization: Bearer
Path parameters
response_idstring Required
Responses
200Deleted.Body (application/json)
idstringobjectstring- Always
response.deleted
deletedboolean- Always
true
Example
curl -X DELETE "https://api.breachline.io/api/v1/llm/v1/responses/{response_id}" \
-H "Authorization: Bearer $BREACHLINE_API_KEY"
{
"id": "string",
"object": "response.deleted",
"deleted": true
}