Initializing Operalta...

Agents

Invoke agents, persist runs, and orchestrate workflows.

POST
/api/agent/run

Authorization

BearerAuth
AuthorizationBearer <token>

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": {}
}
GET
/api/agent/run/{runId}

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

runId*string

UUID of the agent run.

Formatuuid

Response 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": {}
}
GET
/api/agent/run/{runId}/progress

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

runId*string

UUID of the agent run.

Formatuuid

Query Parameters

channel?boolean

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": {}
}
POST
/api/agent/run/{runId}/save

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Path Parameters

runId*string

UUID of the agent run.

Formatuuid

Query Parameters

companyId*string

UUID of the company. Alternatively, pass as X-Company-Id request header.

Formatuuid

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

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/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": {}
}
GET
/api/agent/runs

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

companyId*string

UUID of the company. Alternatively, pass as X-Company-Id request header.

Formatuuid
limit?integer

Maximum number of top-level runs to return.

Default20
Range1 <= value <= 50
status?string

Optional status filter.

Value in"pending" | "running" | "completed" | "failed"

Header Parameters

X-Company-Id?string

Company UUID. Alternative to the companyId query parameter.

Formatuuid

Response 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": {}
}
POST
/api/council/invoke

Authorization

BearerAuth
AuthorizationBearer <token>

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": {}
}
GET
/api/council/result

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

runId*string
Formatuuid

Response 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"
}
POST
/api/deep-research/invoke

Authorization

BearerAuth
AuthorizationBearer <token>

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": {}
}
GET
/api/deep-research/result

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

runId*string
Formatuuid

Response 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"
}
POST
/api/orchestrate/route

Authorization

BearerAuth
AuthorizationBearer <token>

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": {}
}
POST
/api/panel/invoke

Authorization

BearerAuth
AuthorizationBearer <token>

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": {}
}
GET
/api/panel/result

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

runId*string
Formatuuid

Response 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"
}
POST
/api/research-panel/invoke

Authorization

BearerAuth
AuthorizationBearer <token>

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": {}
}
GET
/api/research-panel/result

Authorization

BearerAuth
AuthorizationBearer <token>

API key obtained from Operalta Settings → API Keys. Format: op_xxxxx. Pass as Authorization: Bearer op_....

In: header

Query Parameters

runId*string
Formatuuid

Response 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"
}