Skip to main content
Every surface in this documentation is one of two statuses. This page collects them all in one place.
Live now means you can call it today and get a real response. Preview means the shape is committed — the endpoint, request/response contract, and SDK signatures are finalized — but the surface is not yet deployed. No endpoint is implied live unless it is listed as live below.

Live — no authentication required

These endpoints are deployed and verifiable by any party today.

Live — authentication required

These endpoints are deployed and require a phosra_-prefixed API key or session bearer token. The base URL for all management operations is https://prodapi.phosra.com/api/v1. The production authority also exposes operator-only registration and credential issuance at PUT /api/v1/admin-ops/link/clients/{providerDid} and POST /api/v1/admin-ops/link/credentials. These routes are live, but they are restricted superadmin operations—not public developer onboarding. Never place their authorization material or an issued credential in browser code, examples, topology, screenshots, or logs.

Live now — sandbox census (https://phosra-api-sandbox-production.up.railway.app)

These OCSS protocol surfaces are deployed and return real signed responses today on the production sandbox census — the stable, partner-facing testing endpoint. They are RFC-9421 DID-signed; you must be on the sandbox Trust List (see Onboarding — self-serve, no email required). This is a sandbox (test keys, self-serve, provisional) — it is not the live accredited network for production traffic.

Live — production census

There is one production census, and https://prodapi.phosra.com is its name. PHOSRA_ENV=production, isolated database, its own signed Trust List with interim verifying-agency Touchstone (did:ocss:touchstone). Accredited parties (e.g. did:ocss:notflix, did:ocss:custo) write signed, consent-backed rules against real platforms here today. Verify against the production root key root-prod-bootstrap-2026-07 (root pub X 824vsCATBxyUiA-znpGx01N48NNs_3gPE3M7f7vIEaI, pinned out-of-band — verified against the census, never fetched from it). https://phosra-api-prod-bootstrap-production.up.railway.app is the same service reached by its Railway origin name, not a second host: /health, /.well-known/ocss/trust-list, /.well-known/ocss/succession and the environment manifest are byte-identical on both, and both serve the census surfaces below. Earlier revisions of this page claimed prodapi.phosra.com was a control plane that 404s the census routes — that was true of an earlier topology and is no longer true. Prefer prodapi.phosra.com; the Railway name keeps working for already-configured integrators.
Certificate caveat, verified 2026-07-26. Railway’s edge intermittently answers prodapi.phosra.com with its *.up.railway.app wildcard certificate instead of the custom-domain certificate — roughly 1 handshake in 4 in a 60-request sample, surfacing as SSL: no alternative certificate subject name matches target host name. It is an edge certificate-state issue on a recently-moved domain, not a DNS or service fault, and a retry usually succeeds. If you need a clean run right now, use https://phosra-api-prod-bootstrap-production.up.railway.app — same census, same root, and 60/60 clean in the same sample.
Full coordinates and the “these hosts are NOT your census” list: Production Accreditation → Production census coordinates.

Live — npm packages

These packages are published to npm and installable today. @phosra/sdk-dev — the planned unified wrapper that combines @phosra/sdk and @openchildsafety/ocss under one package — is not yet published. Install the individual packages above until it ships.

Trust-layer SDKs (server-side enclave routing)

Published to npm (@phosra/provider@0.1.0, @phosra/classify@0.1.1). Full guide: Server-Side Enclave Routing.

Preview — committed shape, not yet deployed on the production control plane

isAllowed() is not a server surface — it is local by design, and it is live today. isAllowed({ category, signal }) runs entirely in-process inside public @phosra/gatekeeper@0.7.0 against the cached, signed enforcement profile fetched once via the §9.3(b) read (GET /api/v1/enforcement-profiles/{endpoint_id}). Zero network latency, fail-closed when the cache is absent. isAllowed() IS the decision call — there is no hosted POST /check equivalent and none is planned. It is neither “preview” nor a deployed endpoint. The Railway qualification candidate vendors 0.8.7 pending npm publication. See Platform Quickstart.
The @phosra/sdk-dev surfaces below are not yet published — the shape is committed and will not change without a versioned notice; install the individual packages today. This does not apply to the OCSS census surfaces (provider connect, enforcement-endpoints, rule writes, enforcement profiles, consent ingest): those are live in production on prodapi.phosra.com — verified GET /api/v1/providers/did:ocss:notflix/connect200 and POST /api/v1/enforcement-endpoints405 (registered, wrong method), against a bogus-path control that returns plain-text 404 page not found. See Live — production census above.

OCSS conformance surfaces (open standard, not Phosra-specific)

These surfaces are defined by the OCSS specification. Phosra implements them; the standard’s stewardship body owns the spec.

How status changes

When a preview surface ships, the table above is updated and the relevant page in this documentation gains a “Live” label. Changes that affect the request/response contract are versioned (e.g. /api/v2/…). The introduction page always reflects the current live/preview split in its <Note> block.

Questions

The developer funnel needs no early access — create your account and mint a key self-serve. For anything else preview-related, reach out at developers@phosra.com.