Mint a test consent attestation (sandbox)
SANDBOX-ONLY self-serve consent. Mints a §8.3.2-shaped TEST consent row with app_ref = the RFC 9421 caller DID, so a cold self-registered platform can satisfy the consent-first gate on POST /api/v1/enforcement-endpoints with no roster edit and no live counterparty. With no child_ref, the census auto-provisions the sandbox self-serve test child and targets it; a supplied child_ref must already exist (the door never fabricates a caller-named child). Production §8.3.2 semantics unchanged. Gated on the Restricted band (PHOSRA_ENV==sandbox) — returns 404 on dev/staging/production. Source: internal/ocsshttp/handler_sandbox_consent.go.
PHOSRA_ENV==sandbox — returns 404 on dev, staging, and
production. Production §8.3.2 consent semantics are unchanged.app_ref = your
RFC 9421 caller DID, so a
cold self-registered platform can satisfy the consent-first gate on
POST /enforcement-endpoints with no
OCSS_CONSENT_ATTESTATION_APPS roster edit and no live counterparty.
With no child_ref, the census auto-provisions the sandbox self-serve test child and targets
it. A supplied child_ref must already exist — the door never fabricates a caller-named child.
The response gives you the target_ref to pass straight into the bind call.
Worked example
201 response (captured from the hosted sandbox):
(app_ref, target_ref) — re-minting returns the same
standing_ref. Next: bind the endpoint.Body
Optional child: target. Empty ⇒ the auto-provisioned sandbox self-serve test child.
"child:5ba0d00c-0000-4000-8000-0000000000c1"
under_13, 13_15, 16_17, adult collection_parental_authority, third_party_disclosure Response
Test consent minted. Pass audience_did= and child_ref=<target_ref> to POST /api/v1/enforcement-endpoints to complete the consent-first mint.
true
"did:ocss:playnest"
"child:5ba0d00c-0000-4000-8000-0000000000c1"
"consent:attestation:sbx-consent-playnest-5ba0d00c"
"13_15"
"collection_parental_authority"