The HTTP status code on the response is meaningful too.
Status code summary
Error code reference
Authentication errors (401, 403)
Consent errors (403)
Validation errors (400, 422)
Resource errors (404, 409, 410)
Rate limiting (429)
Server errors (5xx)
Retry guidance
For write operations, always include an
Idempotency-Key. A 5xx response on a write may indicate the operation succeeded but the response was lost; retrying with the same key will either return the prior result or proceed if it never started.
A debugging walkthrough
You get a403 consent_revoked on a snapshot read. The path forward:
1
Check the response
code: consent_revoked, requestId: req_01HMFB.... Note the request ID.2
Verify the consent state
GET /partner/v1/consents/<your_consent_id>. Returns the consent record. Confirm status is REVOKED.3
Check when it was revoked
revokedAt field on the consent. Compare against your records.4
Generate a new consent
POST /partner/v1/consent-links with the user’s phone and desired scopes.5
Send the consent link to the user
Through your application’s notification path.
6
Wait for the consent.granted webhook
Or check
/consents/:id polling — webhook is the preferred path.7
Retry the snapshot read with the new consent token
Should succeed now.
Request IDs
Every response (success or error) includes a request ID. Include it in any support ticket and we can correlate immediately. Request IDs are also visible in your Partner Portal dashboard’s audit log.What to read next
Snapshots
The endpoint reference.
Rate limits
Throughput numbers and burst behaviour.