Skip to content

API reference

The Wholisphere API is REST + JSON. The full machine-readable spec lives at:

https://api.wholisphere.ai/openapi.json

Render it with Scalar, Stoplight Elements, Swagger UI, or your IDE’s OpenAPI plugin.

Routes

MethodPathAuthPurpose
GET/v1/healthnoneLiveness + LLM config probe
POST/v1/auth/requestnoneSend magic-link sign-in email
GET/v1/auth/callbacktoken (query)Verify token, set session cookie
GET/v1/auth/mesession cookieCurrent user + memberships
POST/v1/auth/logoutsession cookieClear session
GET/v1/orgs/:orgId/keyssessionList API keys
POST/v1/orgs/:orgId/keyssession (admin)Create new API key
POST/v1/orgs/:orgId/keys/:keyId/revokesession (admin)Revoke key
GET/v1/orgs/:orgId/auditsessionRecent audit events
POST/v1/billing/checkoutsession (admin)Stripe Checkout session
POST/v1/billing/portalsession (admin)Stripe Customer Portal
POST/v1/webhooks/stripeStripe signatureSubscription lifecycle webhook
POST/v1/intentapi-keyPage intent extraction
POST/v1/describeapi-keyImage description
POST/v1/explainapi-keyText simplification
POST/v1/summarizeapi-keyPage summarization
POST/v1/voice-actionapi-keyVoice → action plan
POST/v1/telemetryapi-keyOpt-in usage events
POST/v1/vpatapi-keyGenerate VPAT markdown
POST/v1/cache/invalidateapi-keyCI/CD cache refresh

Conventions

  • All requests use application/json content type.
  • All responses carry an x-trace-id header — paste it into support tickets.
  • All errors are JSON envelopes: { "error": { "code": "...", "message": "...", "traceId": "...", "retryable": true|false } }.
  • Versioning: every route is under /v1/. Breaking changes ship under /v2/ with /v1/ maintained for at least 12 months.

Rate limits

Free tier: 30 req/min, 1,000 req/day per org. Pro tier: 300 req/min, 30,000 req/day. Platform tier: custom (typically 3,000 req/min, unlimited daily).

429 responses include a Retry-After header.

SDKs

Coming soon:

  • @wholisphere/sdk (TS/JS) — covers all routes with typed responses
  • wholisphere-python (Python) — for analyzer integration

In the meantime any HTTP client works.