Forward probabilities, forecasts, quotes and risk inference — the same engine outputs the platform runs on, delivered as versioned, idempotent, tenant-scoped JSON. Every number is backed by the public calibration ledger.
Three facts get you productive: keys come from the platform, every request is bearer-authenticated, and writes are idempotent by contract.
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 bills your workspace's credit wallet.
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: mutating endpoints require an
Idempotency-Key header — retries are safe by design.
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.1.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.1.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.
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.1.1 — this reference now serves the public evaluation contract (the
generally available surface; deprecated and non-GA endpoints omitted). Licensed
tenants retrieve the complete contract at
/v1/openapi/full.yaml with their API key.
0.1.0 — initial public contract: idempotent writes, request tracing,
calibration-ledger backing.
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 generally available surface. Licensed workspaces (Pro and above) can render the complete contract here without leaving the page.
Paste an API key from Settings → API Keys. It is sent only to
api.multipolarity.ai over HTTPS, held in this tab's memory, and never stored.
Generators can use the same entitled endpoint directly:
/api/v1/openapi/full.yaml with your bearer key.