Agents
Invoke agents, persist runs, and orchestrate workflows.
Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/agent/run" \ -H "Content-Type: application/json" \ -d '{ "objective": "string", "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda" }'{
"success": true,
"runId": "78c33d18-170c-44d3-a227-b3194f134f73",
"progressUrl": "string",
"statusUrl": "string"
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Path Parameters
UUID of the agent run.
uuidResponse Body
application/json
application/json
application/json
curl -X GET "https://example.com/api/agent/run/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"activeToolClasses": [],
"activeRiskClass": null,
"canCreateArtifacts": false,
"canWriteStreamEntries": false
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Path Parameters
UUID of the agent run.
uuidQuery Parameters
When true, upgrades the route to an SSE stream via the realtime channel. Omit or set false to read the cached JSON event buffer.
Response Body
application/json
application/json
curl -X GET "https://example.com/api/agent/run/497f6eca-6276-4993-bfeb-53cbbbba6f08/progress"{
"runId": "uuid",
"phase": "planning",
"events": [
{
"type": "init",
"runId": "uuid",
"pattern": "parallel",
"effort": "high",
"intent": "research",
"executionMode": "genesis-exploratory",
"traceMode": "compact",
"writePolicy": "artifact_allowed",
"toolClasses": [
"read",
"analyze",
"write"
],
"riskClass": "sensitive_write",
"phase": "planning",
"activeToolClasses": [],
"activeRiskClass": null,
"canCreateArtifacts": false,
"canWriteStreamEntries": false
},
{
"type": "planning",
"objective": "Analyze our expansion readiness",
"workersPlanned": 4
},
{
"type": "phase",
"phase": "executing",
"activeToolClasses": [
"read",
"analyze"
],
"activeRiskClass": "standard",
"canCreateArtifacts": false,
"canWriteStreamEntries": false
},
{
"type": "subagents_status",
"planned": 4,
"spawned": 0,
"unspawned": 4,
"queued": 4,
"pending": 0,
"running": 0,
"completed": 0,
"failed": 0,
"maxConcurrentChildren": 2,
"taskClasses": [
{
"taskClass": "finance",
"planned": 1,
"spawned": 0,
"unspawned": 1,
"queued": 1,
"pending": 0,
"running": 0,
"completed": 0,
"failed": 0
},
{
"taskClass": "growth",
"planned": 3,
"spawned": 0,
"unspawned": 3,
"queued": 3,
"pending": 0,
"running": 0,
"completed": 0,
"failed": 0
}
]
},
{
"type": "subagent_progress",
"runId": "child-1",
"role": "finance",
"taskClass": "finance",
"status": "running",
"phase": "executing",
"activeToolClasses": [
"read",
"analyze"
],
"activeRiskClass": "financial_analysis",
"canCreateArtifacts": false,
"canWriteStreamEntries": false
}
],
"activeToolClasses": [],
"activeRiskClass": null,
"canCreateArtifacts": false,
"canWriteStreamEntries": false
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Path Parameters
UUID of the agent run.
uuidQuery Parameters
UUID of the company. Alternatively, pass as X-Company-Id request header.
uuidHeader Parameters
Company UUID. Alternative to the companyId query parameter.
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/agent/run/497f6eca-6276-4993-bfeb-53cbbbba6f08/save?companyId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"artifactId": "uuid",
"artifactGroupId": "uuid",
"versionNumber": 1,
"annotationCount": 1
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Query Parameters
UUID of the company. Alternatively, pass as X-Company-Id request header.
uuidMaximum number of top-level runs to return.
201 <= value <= 50Optional status filter.
"pending" | "running" | "completed" | "failed"Header Parameters
Company UUID. Alternative to the companyId query parameter.
uuidResponse Body
application/json
application/json
application/json
curl -X GET "https://example.com/api/agent/runs?companyId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"runs": [
{
"runId": "uuid",
"status": "completed",
"phase": "synthesizing",
"objective": "Write a strategic pricing memo",
"skillTrigger": "@council",
"pattern": "parallel",
"intent": "generate",
"metrics": {
"totalTokens": 321,
"childRunsSpawned": 2
},
"error": null,
"createdAt": "2026-04-05T20:00:00.000Z",
"completedAt": "2026-04-05T20:02:00.000Z",
"parentRunId": null,
"role": null,
"target": {
"type": "objective",
"label": "pricing-memo"
},
"budget": {
"maxChildren": 4
},
"writePolicy": "artifact_allowed",
"toolClasses": [
"read",
"analyze",
"write"
],
"riskClass": "sensitive_write",
"childRunCount": 2,
"activeToolClasses": [],
"activeRiskClass": null
}
],
"limit": 10
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/council/invoke" \ -H "Content-Type: application/json" \ -d '{ "question": "string" }'{
"runId": "78c33d18-170c-44d3-a227-b3194f134f73",
"status": "pending"
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Query Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/council/result?runId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"status": "pending",
"error": "string",
"answer": "string",
"confidence": 0,
"dissent": "string",
"perspectives": [
{
"agent": "string",
"summary": "string",
"score": 0,
"model": "string"
}
],
"citations": [
{}
],
"metadata": {
"tier": "string",
"duration_ms": 0,
"tokens_used": 0,
"credits_used": 0
}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"status": "not_found"
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/deep-research/invoke" \ -H "Content-Type: application/json" \ -d '{ "query": "string" }'{
"runId": "78c33d18-170c-44d3-a227-b3194f134f73",
"status": "pending"
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Query Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/deep-research/result?runId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"status": "pending",
"error": "string",
"summary": "string",
"pagesScraped": 0,
"sourcesFound": 0,
"iterations": 0,
"sources": [
{
"title": "string",
"url": "string"
}
],
"liabilityMode": "standard",
"requiresHumanReview": true,
"requiresCautionNote": true,
"liabilityNote": "string",
"metadata": {
"tier": "string",
"duration_ms": 0,
"tokens_used": 0,
"credits_used": 0,
"models_used": [
"string"
]
}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"status": "not_found"
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/api/orchestrate/route" \ -H "Content-Type: application/json" \ -d '{ "question": "string" }'{
"agent": "council",
"needsWebEnrichment": true,
"contextSufficient": true,
"reason": "string"
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/panel/invoke" \ -H "Content-Type: application/json" \ -d '{ "question": "string" }'{
"runId": "78c33d18-170c-44d3-a227-b3194f134f73",
"status": "pending"
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Query Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/panel/result?runId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"status": "pending",
"error": "string",
"answer": "string",
"confidence": 0,
"conflicts": "string",
"perspectives": [
{
"agent": "string",
"summary": "string",
"score": 0,
"model": "string"
}
],
"metadata": {
"tier": "string",
"duration_ms": 0,
"tokens_used": 0,
"credits_used": 0
}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"status": "not_found"
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/research-panel/invoke" \ -H "Content-Type: application/json" \ -d '{ "topic": "string" }'{
"runId": "78c33d18-170c-44d3-a227-b3194f134f73",
"status": "pending"
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}Authorization
BearerAuth API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....
In: header
Query Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/research-panel/result?runId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"status": "pending",
"error": "string",
"summary": "string",
"confidence": "string",
"findings": [
"string"
],
"contradictions": [
"string"
],
"liabilityMode": "standard",
"requiresHumanReview": true,
"requiresCautionNote": true,
"liabilityNote": "string",
"metadata": {
"tier": "string",
"duration_ms": 0,
"tokens_used": 0,
"credits_used": 0,
"models_used": [
"string"
]
}
}{
"error": "string",
"status": 0,
"details": {}
}{
"error": "string",
"status": 0,
"details": {}
}{
"status": "not_found"
}