Skip to main content

Orchestrator API Endpoints

The Orchestrator is AxonFlow's control-plane and request-processing service. It owns the governed process endpoint, audit search and summary, multi-agent planning, policy templates, tenant policy CRUD, provider management, media governance config, connector marketplace state, and execution replay.

Most deployments expose this service internally on 8081 and let the Agent proxy requests to it. For internal admin tooling or platform automation, you can call it directly.

Base URL and Access Pattern

http://localhost:8081

Recommended practice:

  • application traffic can come through the Agent proxy on 8080
  • internal platform automation can talk to the Orchestrator directly on 8081

Authentication and Context

Most protected routes use Basic auth plus tenant context headers where the handler requires them.

HeaderWhere it matters
AuthorizationMost protected routes
Tenant (from Basic auth)Tenant-scoped policies, templates, replay, audit summary, media governance
X-Org-IDBackward-compatible tenant scope on older orchestrator handlers
X-User-IDCreate, update, apply, or per-tenant config operations

Core Endpoint Families

Governed request processing

MethodPathPurpose
POST/api/v1/processGovern a request, evaluate policies, pick a provider, and return a response

The context object on /api/v1/process supports request-level provider controls such as provider and strict_provider.

Verified request fields on /api/v1/process:

FieldRequiredNotes
request_idNoGenerated if omitted
queryYesPrompt or governed request content
request_typeYesRequest classification used by policy and routing
userYesIncludes email, role, and tenant context
clientYesIncludes id and tenant context
contextNoProvider hints and other request metadata
mediaNoMultimodal inputs for media-governance flows

Verified response fields on /api/v1/process:

FieldMeaning
request_idRequest correlation ID
successWhether the request completed successfully
dataMain response payload
errorError string when processing fails
redactedWhether output redaction occurred
redacted_fieldsRedacted output fields
policy_infoPolicy evaluation result with allowed, applied_policies, risk_score, and routing overrides
provider_infoProvider, model, latency, token, and cost metadata
media_analysisPresent for multimodal requests when media analysis ran
processing_timeHuman-readable processing duration

Audit and compliance

MethodPathPurpose
POST/api/v1/audit/searchSearch audit logs
POST/api/v1/audit/tool-callRecord non-LLM tool calls
GET/api/v1/audit/tenant/{tenant_id}Retrieve tenant audit logs
POST/api/v1/audit/summaryAggregate compliance summary for a time range

Multi-agent planning

MethodPathPurpose
POST/api/v1/planGenerate a plan
POST/api/v1/plan/executeExecute a stored plan
GET/api/v1/plan/{id}Get plan status
PUT/api/v1/plan/{id}Update a plan
POST/api/v1/plan/{id}/cancelCancel a plan
GET/api/v1/plan/{id}/versionsPlan version history
POST/api/v1/plan/{id}/resumeResume a plan when enabled by tier
POST/api/v1/plan/{id}/rollback/{version}Roll back a plan version when enabled by tier

Governance and admin APIs

Path familyPurpose
/api/v1/dynamic-policiesTenant policy CRUD
/api/v1/templatesPolicy templates
/api/v1/llm-providersProvider management and routing
/api/v1/connectorsConnector marketplace
/api/v1/media-governanceFeature status and config
/api/v1/executionsExecution replay
/api/v1/budgetsNon-community budget management

Verified Example: POST /api/v1/process

curl -X POST http://localhost:8081/api/v1/process \
-H "Content-Type: application/json" \
-H "Authorization: Basic $(echo -n 'client-id:client-secret' | base64)" \
-d '{
"query": "Summarize the quarterly security report",
"request_type": "chat",
"user": {
"email": "[email protected]",
"role": "analyst",
"tenant_id": "tenant-123"
},
"client": {
"id": "security-app",
"tenant_id": "tenant-123"
},
"context": {
"provider": "openai",
"strict_provider": false
}
}'

The response from process includes the request ID, success flag, response data, redaction state, policy information, provider information, and processing timing. That is the core surface most teams use when AxonFlow owns request routing end to end.

Example response shape:

{
"request_id": "req_abc123",
"success": true,
"data": "Here is the governed summary.",
"redacted": false,
"redacted_fields": [],
"policy_info": {
"allowed": true,
"applied_policies": ["tenant-cost-review"],
"risk_score": 0.12,
"required_actions": [],
"processing_time_ms": 3
},
"provider_info": {
"provider": "openai",
"model": "gpt-4o",
"response_time_ms": 842,
"tokens_used": 598,
"cost": 0.0049
},
"processing_time": "845ms"
}

Planning and MAP operations

The planning routes are the public API surface behind AxonFlow's multi-agent planning features:

MethodPathPractical use
POST/api/v1/planGenerate and persist a plan for a complex task
POST/api/v1/plan/executeExecute a stored plan
GET/api/v1/plan/{id}Poll plan state from external tooling
PUT/api/v1/plan/{id}Adjust an in-progress or saved plan
POST/api/v1/plan/{id}/cancelCancel a plan
GET/api/v1/plan/{id}/versionsInspect plan history
POST/api/v1/plans/{id}/steps/{step_id}/approveApprove a WCP/MAP gated step
POST/api/v1/plans/{id}/steps/{step_id}/rejectReject a WCP/MAP gated step

That matters for teams building sophisticated agent systems at scale: the same service that governs individual LLM calls is also where you automate plan lifecycle, step approval, replay, and audit.

Why This Matters Operationally

  • Teams building advanced agent systems use the Orchestrator for planning, provider failover, audit search, replay, and policy automation.
  • Community users can start with core request processing and policy APIs, then move to evaluation or paid tiers when they need larger policy estates, richer replay, deeper governance, and more advanced operational control.
  • Platform teams often automate against this API surface for provider rollouts, policy changes, compliance reporting, and connector lifecycle workflows.