Skip to main content
POST https://api.prysm1.com/v2/orchestrate · Requires authentication
Where /v1/chat/completions routes a prompt to the single best model, orchestrate plans and executes it across several models, then returns one synthesized answer plus a PrysmProof v2 attesting to how robustly it was produced — which models ran and how strongly they agreed. You pick the objective with a policy; PRYSM picks the strategy (or you force one). See How orchestration works for the full model.
This endpoint lives under /v2, not /v1. The SDKs target it automatically with client.orchestrate(...).

Authorization

string
required
Your secret key as a bearer token: Bearer prysm_sk_...

Body

array
required
The conversation, OpenAI-style: a list of { "role": "user" | "assistant" | "system", "content": "..." }.
string
default:"balanced"
The objective dial: efficiency (cheapest path that clears a confidence bar), depth (cross several models in parallel for robustness), or balanced.
string
Force an execution shape instead of auto-planning: single, cascade, ensemble_moa, rank_fuse, decompose_and_route, self_consistency, or debate. Omit to let PRYSM choose from the policy and prompt.
integer
Ensemble / sample width — how many models or samples to cross for ensemble_moa, rank_fuse, and self_consistency. Defaults to a policy-appropriate value.
integer
default:"1024"
Maximum tokens per underlying model call.
number
default:"0.7"
Sampling temperature passed to the underlying models.
number
A soft budget hint, in USD. Cascades stop escalating to pricier models once the estimated spend approaches this cap.
string
Preferred aggregator/fuser model for strategies that synthesize a final answer (ensemble_moa, rank_fuse, debate). Ignored if it isn’t a known catalog model.
object
A Policy-as-Code spec that confines the run to approved providers/models. Non-compliant models are filtered out before scoring, so the engine cannot select one. Same fields as /v2/compliance/preview (provider_allowlist, jurisdiction, frameworks, certifications, data_residency, block_data_classes, require_zero_retention). When set, the response’s prysm.compliance carries the decision and prysm.proof.compliance carries the attestation.
object
A BRAIN.md config whose compliance: block applies if compliance is omitted.
boolean
default:"true"
Include the per-stage execution trace in prysm.stages. Set false for a leaner response.

Response

string
Unique orchestration id, e.g. prysm-a1b2c3d4.
string
Always orchestration.
integer
Unix timestamp (seconds).
string
The policy that ran: efficiency, balanced, or depth.
string
The strategy that ran (auto-planned or forced).
string
Plain-English explanation of why this policy/strategy was chosen.
array
OpenAI-compatible choices. The synthesized answer is choices[0].message.content.
object
Aggregate token usage across every model call.
object
The orchestration extension block.

Errors