Skip to main content
This page documents the HTTP headers that carry a user’s credential from their request to your service as a verifier, and the headers you use when calling SIS yourself. Every inbound credential is a — the cryptographic authorisation the user signed. A Stamped Mandate is delivered over the API as a PINT (header x-sumvin-pint-token); the header names on this page are the wire contract and stay exactly as written.
Two credentials, two headers. Inbound user requests carry the PINT JWT in x-sumvin-pint-token. Outbound calls to SIS (revocation checks, JWKS fetches, token exchange) use your SIS API key in Authorization: Bearer. Do not conflate them.

Identity Headers (Inbound)

These headers arrive on requests from a user’s client (or an upstream SIS API caller) to your service, and carry the user’s Stamped Mandate.

X-Sumvin-Pint-Token

Present on all requests carrying Sumvin credentials (both Standard and Enhanced tier). Contains the SIS-signed PINT JWT as a raw compact-serialized JWT — no Bearer prefix.

X-Pint-Signature

Present only on Enhanced tier requests. Contains the hex-encoded EIP-712 signature from the original Purchase Intent.

X-Pint-Payload

Present only on Enhanced tier requests. Contains the base64-encoded JSON of the signed PINT payload. Decoded example:

SIS API Key (Outbound)

When you call authenticated SIS endpoints (for example, to check PINT revocation status or exchange a signed PINT for a JWT), authenticate with your SIS API key using the Authorization header. The JWKS endpoint is the one exception — it is public and must be called without this header.
Never forward a user’s PINT JWT in the Authorization header. The PINT JWT belongs in x-sumvin-pint-token. The Authorization: Bearer header is reserved for your SIS API key on outbound calls.

Header Presence by Tier

Detecting the Tier

You can determine the verification tier from either the JWT claims or the presence of headers: From JWT claims (preferred):
From header presence:
If the JWT claims "enhanced" but the PINT headers are missing, reject the request — the credentials are incomplete.