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 aphosra_-prefixed API key or session bearer token.
The base URL for all management operations is
https://prodapi.phosra.com/api/v1.
Restricted Link authority operations
The production authority also exposes operator-only registration and credential issuance atPUT /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, andhttps://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.
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.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.