Forward probabilities from the same engine the platform runs on, delivered as versioned, tenant-scoped JSON. The public reference covers Core Intelligence, Deep Foresight, Responses, Calibration, Webhooks and Discovery. The public calibration ledger records each scored resolution; it held 3 on 2026-10-02.
Three facts get you productive: keys come from the platform, every request is bearer-authenticated, and the two paid inference doors require an idempotency key.
Keys are workspace-owned and member-attributed: in the platform open
Settings → API Keys and create one. Keys are shown once and start with
mp_live_. Usage draws on your workspace's prepaid credit wallet; a request the
wallet cannot cover answers 402. To ask for more credits, write to support
(below).
No account yet? Request access at platform.multipolarity.ai.
# Liveness (no auth) curl https://api.multipolarity.ai/v1/health # Your first authenticated call curl https://api.multipolarity.ai/v1/models \ -H "Authorization: Bearer mp_live_…"
Idempotency: an Idempotency-Key header is
required on POST /v1/inference and POST /v1/responses; a retry
with the same key returns the first result.
Tracing: every response carries
X-MP-Request-ID (and X-MP-Run-ID on runs).
Backoff: 429s include Retry-After.
Versioning: response schemas carry explicit
schema_version constants — parse against those, not the URL.
The contract is pre-stable (0.4.1). What that means in practice, and where
change lands, is stated here — not implied.
Three layers, three jobs. The URL prefix /v1 names the API generation and
does not churn. The spec's info.version (0.4.1) tracks the
contract document itself. Each response payload carries an explicit
schema_version constant — that is the unit your parser
should pin against.
While info.version is below 1.0.0: additive evolution
(new endpoints, new optional fields) is routine and unannounced; a breaking change to a
payload bumps that payload's schema_version and is listed in the changelog.
A newly required request field or header moves the minor version of
info.version, with notice when an outside caller exists.
Parse against schema_version, never against field presence.
The contract file is the source of truth; its history is the complete changelog. Notable entries:
0.4.1 — terminal Deep failures and cancellations return 200 with a null result;
unfinished campaigns return 202. Owned partial Research and child-attempt links remain
readable. Native completion reasons and method verification are separate from delivery.
Integrity errors are non-retryable; genuine infrastructure outages remain retryable.
0.4.0 — the published contract now reflects the October 6, 2026 IA cutover:
refinement requires a target Scenario Asset, an objective and explicit assignments.
New Foresight requests use Low or High effort. Archived Extra High results remain
readable with their original effort and payload schema_version.
0.3.0 — Idempotency-Key is required on
POST /v1/inference and POST /v1/responses; a request without it
answers 400 idempotency_key_required before any run is created or any credit
reserved.
0.2.0 — the public surface was consolidated (2026-09-14): retired
compatibility operations were removed and answer 404 not_found, and
explanations are embedded in inference results.
0.1.1 — this reference now serves the public evaluation contract (deprecated
endpoints and those reserved for licensed workspaces omitted). Licensed
tenants retrieve the broader licensed reference at
/v1/openapi/full.yaml with their API key.
0.1.0 — initial public contract: idempotency keys and request tracing.
There is no house SDK by design — the OpenAPI 3.1 contract below is machine-readable, and a generated client is always in sync with what you licensed. Two commands get you a typed client.
# Types only (zero runtime) npx openapi-typescript \ https://docs.multipolarity.ai/openapi.yaml \ -o multipolarity.d.ts # Or a full typed fetch client npx orval --input \ https://docs.multipolarity.ai/openapi.yaml
pipx run openapi-python-client generate \ --url https://docs.multipolarity.ai/openapi.yaml
Any OpenAPI-3.1-capable generator works; the contract carries complete schemas.
Whatever generates it: send Idempotency-Key on writes, authenticate with the
bearer key, honor Retry-After on 429s, and dispatch on
schema_version. Those four habits are the whole house style — see
The contract above.
This page documents the public surface. Workspaces whose plan includes the licensed reference fetch the broader contract with their API key, from their own terminal, and open it in any OpenAPI viewer or generator. This page never asks for a key.
curl https://api.multipolarity.ai/api/v1/openapi/full.yaml \
-H "Authorization: Bearer $MP_API_KEY" \
-o multipolarity-licensed.yaml
Support: support@multipolarity.ai, on business
days. Include the X-MP-Request-ID of the request.