Skip to main content
All SIS API errors follow the RFC 7807 Problem Details format. This page documents the error structure and the complete list of error codes you may encounter as a verifier when exchanging or checking a . A Stamped Mandate is delivered over the API as a PINT (header x-sumvin-pint-token). The error_code strings below — PINT-{STATUS}-{SEQUENCE} — are the wire contract and are returned exactly as written.

Error Format

Every error response is a JSON object with these fields:

Error Code Format

Error codes follow the pattern {DOMAIN}-{STATUS}-{SEQUENCE}:
  • DOMAIN identifies the API surface (e.g., PINT for token exchange endpoints)
  • STATUS is the HTTP status code
  • SEQUENCE is a zero-padded sequence number for disambiguation
For example, PINT-409-001 means the first 409 Conflict error type in the PINT token exchange domain.

Token Exchange Errors

These errors are returned by the token exchange endpoint when you trade a signed Stamped Mandate for a JWT. POST /v0/sis/token/pint — Exchange a signed PINT for a JWT. See Token Exchange for the flow.
Token exchange is in early access, and the error codes below are the contract it will ship with. Partners wiring in now can harden their error handling against the real launch shape — contact your account manager for sandbox credentials.

Token Consumption Errors

These errors are returned by any endpoint that accepts a Stamped Mandate JWT (header x-sumvin-pint-token) — not the exchange endpoint. They are checked each time an already-issued JWT is presented.
PINT-409-002 and PINT-401-006 describe different moments. PINT-409-002 is returned at exchange time — a revoked mandate cannot be traded for new tokens. PINT-401-006 is returned at use time — an already-issued token is refused because its mandate has since been revoked. Revocation takes effect immediately: the next request presenting the token is refused, with no propagation delay.

General API Errors

These errors can be returned by any SIS endpoint.

Handling Errors

Retryable Errors

Some errors are transient and can be retried:

Non-Retryable Errors

These errors indicate a problem with the request that won’t resolve on retry:

TypeScript Example

Python Example