POST
https://api.prysm1.com/v2/orchestrate · Requires authentication/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.
Authorization
Your secret key as a bearer token:
Bearer prysm_sk_...Body
The conversation, OpenAI-style: a list of
{ "role": "user" | "assistant" | "system", "content": "..." }.The objective dial:
efficiency (cheapest path that clears a confidence bar),
depth (cross several models in parallel for robustness), or balanced.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.Ensemble / sample width — how many models or samples to cross for
ensemble_moa,
rank_fuse, and self_consistency. Defaults to a policy-appropriate value.Maximum tokens per underlying model call.
Sampling temperature passed to the underlying models.
A soft budget hint, in USD. Cascades stop escalating to pricier models once the
estimated spend approaches this cap.
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.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.Include the per-stage execution trace in
prysm.stages. Set false for a leaner
response.Response
Unique orchestration id, e.g.
prysm-a1b2c3d4.Always
orchestration.Unix timestamp (seconds).
The policy that ran:
efficiency, balanced, or depth.The strategy that ran (auto-planned or forced).
Plain-English explanation of why this policy/strategy was chosen.
OpenAI-compatible choices. The synthesized answer is
choices[0].message.content.Aggregate token usage across every model call.
The orchestration extension block.
Errors
| Status | error | Meaning |
|---|---|---|
400 | no_messages | messages[] was empty. |
401 | — | Missing or invalid API key. |
502 | all_models_failed | Keys are configured but every model call failed. |
502 | orchestration_error | The orchestrator raised while planning or executing. |
503 | no_provider_available | No provider API keys are configured on the server. |