Permissions

Validate a permission grant and return its canonical id + owner challenge

Pure scope-hygiene check mirroring `grantPermission` (kind rules, denylist, 30d TTL, caps) plus the canonical `permissionId` and the owner challenge (what the passkey signs). Authenticated; submission-time pid→account binding is enforced by the relay path.

POST
/permissions/grants/validate

Pure scope-hygiene check mirroring grantPermission (kind rules, denylist, 30d TTL, caps) plus the canonical permissionId and the owner challenge (what the passkey signs). Authenticated; submission-time pid→account binding is enforced by the relay path.

Authorization

cookieAuth
pid_access<token>

JWT access token set by /auth/google/callback or /auth/refresh

In: cookie

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/permissions/grants/validate" \  -H "Content-Type: application/json" \  -d '{    "kind": 1,    "target": "string",    "selector": "string",    "token": "string",    "to": "string",    "perTxCap": "string",    "totalLimit": "string",    "nftId": "string",    "sessionX": "string",    "sessionY": "string",    "validAfter": 0,    "validUntil": 0,    "salt": "string",    "deadline": 0,    "chainId": 0,    "account": "string",    "nonce": "string",    "factory": "string"  }'
{  "permissionId": "string",  "grantPayload": "string"}