ORIONPULSE

Build on the same metrics your boards use.

A JSON REST API, signed webhooks, an Embed SDK for TypeScript and an MCP server let your applications and AI agents read governed metrics and act on decisions.

Base URL
api.orionpulse.xyz/v1
Auth
API key or OAuth 2.0
Rate limit
600 req/min (Business)
SDKs
Python, TypeScript

Ask a question over HTTP

Calls run with the permissions of the key's service user, so row-level rules still apply.

ask.sh

curl https://api.orionpulse.xyz/v1/ask \
  -H "Authorization: Bearer $ORIONPULSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace": "retail-ops",
    "question": "Net revenue by region last week",
    "return_sql": true
  }'

Read a metric from Python

The metrics endpoint returns the same numbers as the board tile, with no LLM involved.

metrics.py

import os, requests

API = "https://api.orionpulse.xyz/v1"
headers = {"Authorization": f"Bearer {os.environ['ORIONPULSE_API_KEY']}"}

# Read a governed metric from the semantic layer
r = requests.get(f"{API}/metrics/net_revenue/query", headers=headers,
                 params={"grain": "week", "dimensions": "region", "last": 8})
for row in r.json()["rows"]:
    print(row["week"], row["region"], row["value"])

Core endpoints

MethodPathPurpose
POST /v1/ask Send a plain-English question to Ask Orion; returns SQL, rows and explanation
GET /v1/metrics/{name}/query Query a governed metric by grain, dimensions and filters
GET /v1/forecasts/{id} Fetch forecast values, intervals and backtest scores
POST /v1/decisions Open a decision card from your own system
GET /v1/audit-events Page through audit events for SIEM export

Webhooks, embedding and MCP

  • Webhooks. Events for decision.opened, decision.resolved, forecast.drift and metric.threshold, signed with HMAC-SHA256 and retried for 24 hours.
  • Embed SDK. Render boards and Ask Orion inside your own app with short-lived signed tokens and per-tenant row filters.
  • MCP server. Expose verified metrics and forecasts as Model Context Protocol tools so your internal agents query governed data.

decision.resolved

{
  "event": "decision.resolved",
  "decision_id": "dec_8KQ2M",
  "flow": "stockout-risk-northeast",
  "owner": "supply-planning",
  "baseline": 0.214,
  "outcome": 0.031,
  "resolved_at": "2026-10-25T14:10:00Z"
}
Illustrative product interface

Get the full API reference and a sandbox key.

Email us with your use case and we send the reference, OpenAPI 3.1 spec and a sandbox workspace within one business day.

Request API docs