Skip to main content
Every error response shares the same shape.
The HTTP status code on the response is meaningful too.

Status code summary

Error code reference

Authentication errors (401, 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 a 403 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.

Snapshots

The endpoint reference.

Rate limits

Throughput numbers and burst behaviour.