Skip to content

Record a readiness outcome through a capability link

POST
/w/{token}/attestations
curl --request POST \
--url https://quikstik-core.fly.dev/w/example/attestations \
--header 'Content-Type: application/json' \
--data '{ "requirement_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "result": "waived" }'

The customer-side waiver/eligibility/competency capture: the token authorizes attestation for its one participant only — the participant id comes from the link, never the body. Produces the same immutable, policy-versioned attestation as the operator surface.

token
required
string
>= 32 characters

Opaque capability token; the entire authority for one participant’s readiness flow.

Media typeapplication/json
object
requirement_id
required
string format: uuid
result
required
One of:
string
Allowed values: waived eligible ineligible

Attestation recorded

Media typeapplication/json
object
attestation_id
required
string format: uuid

Example generated

{
"attestation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}

Malformed body

Media typeapplication/json
object
reason
required
string

Example generated

{
"reason": "example"
}

Expired, consumed, unknown, or unresolvable — indistinguishable by design

Media typeapplication/json
object
reason
required
string

Example generated

{
"reason": "example"
}

No durable backend is wired for this operation (fail-closed)

Media typeapplication/json
object
reason
required

Stable, machine-readable reason code (e.g. “sold_out”, “processor_not_configured”, “rail_refused”).

string

Example

{
"reason": "sold_out"
}