Multipolarity AI
Public API · /v1 · Licensed access

Calibrated foresight, over HTTP.

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.

Quickstart

Three facts get you productive: keys come from the platform, every request is bearer-authenticated, and writes are idempotent by contract.

1 · Get a 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 bills your workspace's credit wallet.

No account yet? Request access at platform.multipolarity.ai.

2 · First request

# 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_…"

3 · The contract

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.

Versioning & changelog

The contract is pre-stable (0.1.1). What that means in practice, and where change lands, is stated here — not implied.

Where the version lives

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.

Pre-stable posture

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.

Changelog

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.

Generate your client

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.

TypeScript

# 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

Python

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.

What your client must keep

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.

Licensed access

This page documents the generally available surface. Licensed workspaces (Pro and above) can render the complete contract here without leaving the page.

Unlock the complete reference

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.

The interactive reference could not load its viewer from the CDN. The raw contract is always available at /openapi.yaml.
Public reference — generated from the OpenAPI 3.1 contract below