The Responses API starts runtime execution for an active agent model.
The model value is an active agent slug returned by GET /api/v1/models, for example sal9-active-qa-agent. Do not prefix it with agent:.

Create a response

POST /api/v1/responses
Required scope:
responses:write
curl "$SALAMBO_BASE_URL/api/v1/responses" \
  -H "Authorization: Bearer $SALAMBO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_AGENT_SLUG",
    "input": "Write a short status report.",
    "store": true,
    "background": true
  }'

Request body

FieldTypeRequiredNotes
modelstringyesActive agent slug returned by GET /api/v1/models.
inputstring or arrayyesPrompt text or structured input items.
streambooleannoRequest streaming output when supported.
backgroundbooleannoQueue asynchronous work when supported. Also enabled by metadata salambo.background=true.
storebooleannoMust not be false; use true when you want later retrieval.
previous_response_idstring or nullnoContinue from a previous response.
metadataobjectnoUp to 32 string values. Keys max 64 chars, values max 512 chars.
Allowed runtime metadata keys:
  • salambo.priority
  • salambo.background

Text input

{
  "model": "YOUR_AGENT_SLUG",
  "input": "Analyze this task.",
  "store": true
}

File input

Use exactly one of file_id or file_data for each input_file item.
{
  "model": "YOUR_AGENT_SLUG",
  "input": [
    { "type": "input_text", "text": "Summarize this file." },
    { "type": "input_file", "file_id": "file_..." }
  ],
  "store": true
}

Retrieve a response

GET /api/v1/responses/{responseId}
curl "$SALAMBO_BASE_URL/api/v1/responses/resp_..." \
  -H "Authorization: Bearer $SALAMBO_API_KEY"

Cancel a response

POST /api/v1/responses/{responseId}/cancel
curl -X POST "$SALAMBO_BASE_URL/api/v1/responses/resp_.../cancel" \
  -H "Authorization: Bearer $SALAMBO_API_KEY"

Response object

Important fields:
FieldMeaning
idResponse identifier.
objectAlways response.
statusqueued, in_progress, completed, failed, cancelled, or incomplete.
run_idBacking run identifier when available.
outputOutput messages, reasoning, function calls, or usage items.
errorError details when failed.
metadataStored metadata.

Readiness errors

Response creation requires an active agent with a ready deployment, runtime-ready billing, provider configuration, and the required API-key scope. If the model resolves but the agent is not fully runtime-ready, the API returns a structured error instead of starting a sandbox. For example:
{
  "error": {
    "message": "model does not have a ready active deployment",
    "type": "invalid_request_error",
    "param": "model",
    "code": "conflict"
  }
}
This means the API key and model were valid, but the agent needs a ready active deployment before execution can start.