API Reference
Base URL, headers, conventions, and every endpoint prefix in one place.
The predictAI API is a JSON HTTP API under a single versioned prefix,
/v1. This page covers the conventions that apply everywhere; each product
section documents its own endpoints in depth.
Base URL
https://api.predict.aiOne hostname works for every account. Your data lives in a home region,
and if a request lands elsewhere the API answers 409 with the correct
base URL in error.details.redirect_api_base_url — the official SDKs
follow that redirect automatically and cache it, so you never have to
think about regions. If you'd rather skip the one-time redirect hop, use
the exact base URL shown next to your API token in the app.
See Authentication → Regions.
Headers
curl "$API_BASE/v1/signal" \
-H "Authorization: Bearer pa_live_..." \
-H "X-Workspace-Id: $WORKSPACE_ID" \
-H "Content-Type: application/json"from predictai import PredictAI
client = PredictAI(token="pa_live_…", workspace_id="ws_…")
data = client.signals.get_signal()
import { PredictAI } from "@predictai/sdk";
const client = new PredictAI({ token: "pa_live_…", workspaceId: "ws_…" });
const data = await client.signals.getSignal();
| Header | Required | Purpose |
|---|---|---|
Authorization | Always | Bearer + your pa_live_ API token. |
X-Workspace-Id | Almost always | The workspace the request operates on. |
Content-Type | On writes | application/json for all request bodies. |
Conventions
- Envelopes — most responses wrap payloads in
{"data": …}; acknowledgements use{"status": …}; inference and deployments return top-level payloads. See Errors & responses. - Timestamps — ISO 8601, UTC (
2026-07-15T00:00:00Z). - IDs — opaque strings. Don't parse them.
- Pagination — list endpoints take
page/per_page(orlimit/offset) query params and return totals alongside the items. - Async work — long operations return
202or aqueuedstatus with an ID to poll; prefer Realtime subscriptions over polling.
Endpoints by resource
| Prefix | Section | What's there |
|---|---|---|
/v1/ingestion/* | Ingestion | Sources, connectors, jobs, executions, file import, webhooks |
/v1/signal/* | Signals | Push, browse, analyze time series |
/v1/event/* | Signals → Events | Record and score discrete events under streams |
/v1/segment/* | Segments | Model-ready tables: normalization, engineered features, preview |
/v1/models/* | Models | Catalog, custom models, foundation models, BYOM |
/v1/pipelines/* | Pipelines | Training workflows, schedules, promotion decisions |
/v1/training/* | Trainings | Run history and reports |
/v1/inference/* | Inference | Run forecasts; inference history and usage |
/v1/deployments/* | Deployments | Deploy, status, scale, retry, unpromote |
/v1/goals/* | Goals | Goals, discovery, tournaments, forecasts, scenarios, analyst, alerts, fleets |
/v1/billing/* | Billing | Balance, quota usage, estimates, rates |
/v1/workspace/*, /v1/organization/* | Workspaces | Tenancy, members, roles, invitations |
/v1/user/* | Account | API tokens and profile |
/v1/notifications/* | Notifications | Feed, channels, preferences |
wss://…/v1/ws | Realtime | Live events over WebSockets |
Platform endpoints
Unauthenticated basics:
| Endpoint | Purpose |
|---|---|
GET /health | Liveness — 200 when the API is up. |
GET /version | The running API version. |
Machine-readable spec
The OpenAPI 3 snapshot for the public API is served at
/openapi/v1.json — use it for codegen, Postman, or AI
tooling. An AI-friendly index of these docs lives at
/llms.txt.

