The base URL
Nothing you do in the sandbox touches a real family or production data. When you are ready for
production, swap the base URL for
https://prodapi.phosra.com and add a phosra_live_… key —
the request shapes are identical.What’s already seeded
1
Confirm the sandbox is up
The
/health endpoint needs no key and is the fastest liveness check:2
Read the signed Trust List
The Trust List is the source of truth for who is accredited. It is served at a well-known path
and the entire document is Ed25519-signed by the sandbox root key — verify the signature
before you trust any entry inside it.Real response (200):The top-level object wraps a signed document:
The
entries count is a live, growing number — every self-registration (below) adds an entry,
so expect a value at or above the one shown here. Verify the signature and each entry’s tier
rather than asserting on the total.{ "document": "…", "key_id": "…", "alg": "ed25519", "sig": "…" }.
Parse document (itself JSON) to read the entries array — each entry carries a did, an
entity name, its published jwks signing keys, and an accreditation tier. The
@openchildsafety/ocss SDK verifies the signature and resolves keys for you.Fields & errors — GET /.well-known/ocss/trust-list
Fields & errors — GET /.well-known/ocss/trust-list
No parameters, no auth. Returns the signed Trust List document.Top-level response fields (200)
Fields on each entry (inside the parsed
document.entries)3
Self-register a provisional DID
You do not need anyone’s approval to start testing signed flows. Post your DID and a raw
Ed25519 public key (base64url, unpadded) to Then register:Real response (200):You are now on the sandbox Trust List. The
POST /api/v1/advisors/self-register, and the
census adds you to the sandbox Trust List at the provisional tier.First, mint a keypair and extract the raw 32-byte public key:key_id (did#kid) is what you sign your requests
with; the census publishes your public key so counterparties can verify you.provisional is enough to test the full signed flow in the sandbox. Moving to verified or
accredited — the tiers that carry weight in production — is a governance step, not an API call.
See Production accreditation.Fields & errors — POST /api/v1/advisors/self-register
Fields & errors — POST /api/v1/advisors/self-register
Request body (
application/json)Response fields (200)
Errors
The sandbox host
Everything partner-facing points at one host — the same base URL used throughout these guides. It’s open, seeded, and requires no key:Now build something
Connect a platform
Run the OAuth connect ceremony against the seeded reference provider.
Set up a family & kids
Build a family and an active policy in one call.
Quickstart
Zero to an enforced policy in under five minutes.