After a PINT is created via the token exchange , it becomes a managed resource in the SIS. You can list, inspect, and revoke PINTs, and query which JWTs have been issued against them.
PINT lifecycle management is in early access, and the endpoints below are the contract they will ship with. Partners operating against them today can harden their revocation, listing, and inspection flows against the real launch shape — contact your account manager for sandbox access.
PINT States
Status Description activePINT is valid. New audience-scoped JWTs can be issued against it expiredPINT’s expiresAt timestamp has passed. Automatic transition revokedPINT was explicitly revoked by the wallet owner. All issued JWTs are invalidated
PINTs are never “consumed” — they remain active until they expire or are revoked, regardless of how many JWTs have been issued against them.
List PINTs
GET /v0/sis/pint?wallet=0x...
Query PINTs for a wallet with filtering and cursor-based pagination.
curl "https://sis.sumvin.com/v0/sis/pint?wallet=0xE23c9A70BC749EBddd8c78a864fd911D04E9e992&status=active&limit=20" \
-H "Authorization: Bearer <your-api-key>"
Query Parameters
Parameter Type Default Description walletstring — Required. Filter by wallet addressstatusstring activeFilter: active, revoked, expired sortstring created_atSort field: created_at, expires_at orderstring descSort direction: asc, desc limitinteger 20 Page size (max 50) cursorstring — Cursor for pagination
Response
{
"data" : [
{
"pint_id" : "sr:us:pint:abc123" ,
"status" : "active" ,
"wallet" : "0xE23c9A70BC749EBddd8c78a864fd911D04E9e992" ,
"scopes" : [ "sr:us:pint:identity:proof_of_personhood" ],
"signer_type" : "user" ,
"created_at" : "2026-02-13T10:00:00Z" ,
"expires_at" : "2026-02-13T12:00:00Z" ,
"token_count" : 2 ,
"_links" : {
"self" : { "href" : "/v0/sis/pint/sr:us:pint:abc123" },
"status" : { "href" : "/v0/sis/pint/sr:us:pint:abc123/status" },
"tokens" : { "href" : "/v0/sis/pint/sr:us:pint:abc123/tokens" },
"revoke" : { "href" : "/v0/sis/pint/sr:us:pint:abc123" , "method" : "DELETE" }
}
}
],
"pagination" : {
"cursor" : "eyJjcmVhdGVkX2F0Ijo..." ,
"has_more" : true
},
"_links" : {
"self" : { "href" : "/v0/sis/pint?wallet=0x...&status=active&limit=20" },
"next" : { "href" : "/v0/sis/pint?wallet=0x...&status=active&limit=20&cursor=eyJjcmVhdGVkX2F0Ijo..." }
}
}
Access control: Wallet owner only.
Get PINT Detail
GET /v0/sis/pint/{pint_id}
Returns the full PINT resource. Supports an expand parameter to inline related resources.
curl "https://sis.sumvin.com/v0/sis/pint/sr:us:pint:abc123?expand=tokens" \
-H "Authorization: Bearer <your-api-key>"
Parameter Type Description expandstring[] Expand nested resources. Supported: tokens
Response (with ?expand=tokens)
{
"pint_id" : "sr:us:pint:abc123" ,
"status" : "active" ,
"wallet" : "0xE23c9A70BC749EBddd8c78a864fd911D04E9e992" ,
"nonce" : 42 ,
"statement" : "Purchase authorization for partner X" ,
"scopes" : [ "sr:us:pint:identity:proof_of_personhood" , "sr:us:pint:personalization:read" ],
"resources" : [ "sr:us:pint:abc123" ],
"max_amount" : 0 ,
"max_amount_token" : "0x0000000000000000000000000000000000000000" ,
"signer_type" : "user" ,
"kyc_status" : "verified" ,
"created_at" : "2026-02-13T10:00:00Z" ,
"expires_at" : "2026-02-13T12:00:00Z" ,
"revoked_at" : null ,
"token_count" : 2 ,
"tokens" : [
{
"jti" : "jwt-001" ,
"audience" : "partner-x.example.com" ,
"issued_at" : "2026-02-13T10:01:00Z" ,
"expires_at" : "2026-02-13T12:00:00Z" ,
"revoked" : false
},
{
"jti" : "jwt-002" ,
"audience" : "partner-y.example.com" ,
"issued_at" : "2026-02-13T10:05:00Z" ,
"expires_at" : "2026-02-13T12:00:00Z" ,
"revoked" : false
}
],
"_links" : {
"self" : { "href" : "/v0/sis/pint/sr:us:pint:abc123" },
"status" : { "href" : "/v0/sis/pint/sr:us:pint:abc123/status" },
"tokens" : { "href" : "/v0/sis/pint/sr:us:pint:abc123/tokens" },
"revoke" : { "href" : "/v0/sis/pint/sr:us:pint:abc123" , "method" : "DELETE" },
"issue_token" : { "href" : "/v0/sis/token/pint" , "method" : "POST" }
}
}
Access control: Wallet owner or authorised third-party caller.
Revoke a PINT
DELETE /v0/sis/pint/{pint_id}
Revokes a PINT and invalidates all JWTs issued against it.
curl -X DELETE "https://sis.sumvin.com/v0/sis/pint/sr:us:pint:abc123" \
-H "Authorization: Bearer <your-api-key>"
Returns 204 No Content on success.
When a PINT is revoked:
The PINT status transitions to revoked with a revoked_at timestamp
All JWTs issued against it are marked as revoked
The revocation check endpoint will return "valid": false for this PINT
Subsequent token exchange calls for this PINT return 409 Conflict
Status When 204 PINT revoked successfully 404 PINT not found 409 PINT is already revoked
Access control: Wallet owner only.
List Issued Tokens
GET /v0/sis/pint/{pint_id}/tokens
Lists all audience-scoped JWTs that have been issued against a PINT.
curl "https://sis.sumvin.com/v0/sis/pint/sr:us:pint:abc123/tokens" \
-H "Authorization: Bearer <your-api-key>"
{
"pint_id" : "sr:us:pint:abc123" ,
"data" : [
{
"jti" : "jwt-001" ,
"audience" : "partner-x.example.com" ,
"issued_at" : "2026-02-13T10:01:00Z" ,
"expires_at" : "2026-02-13T12:00:00Z" ,
"revoked" : false
}
],
"_links" : {
"pint" : { "href" : "/v0/sis/pint/sr:us:pint:abc123" },
"issue_token" : { "href" : "/v0/sis/token/pint" , "method" : "POST" }
}
}
Access control: Wallet owner only.