Graine AI

List consent records

The records your organisation has written, newest first.

The records your organisation has written, newest first.

Rate limit: 2000 requests per minute per organization, counted together with every endpoint that has no stricter limit of its own. Exceeding it returns 429 with Retry-After; the X-RateLimit-* response headers report your remaining allowance on every call.

GET
/v2/consent-records
/v2/consent-records?limit=50&cursor=6728f0a1c3d4e5f6a7b8c9d0

The Authorization access token

Authorization

Authorization
Required
Bearer <token>

Your Graine API key. Create one in the dashboard under Developers, or via POST /v2/api-keys. Send it as Authorization: Bearer <key>.

In: header

Query Parameters

limitLimit

Records per page.

Default: 50Minimum: 1Maximum: 200

cursorCursor

next_cursor from the page before.

Maximum length: 64

Response Body

200

A page.

items
Required
Items

The records on this page, newest first.

next_cursorNext Cursor | null

Pass as cursor for the next page; null on the last.

401

1100 — missing, unknown or inactive API key. 1101 — a browser session token was presented instead of an API key.

error
Required
Error

Stable integer code from the /v2 error table. Branch on this.

message
Required
Message

One human-readable sentence. Wording may change; the code will not.

403

1102 — the key is valid but lacks the scope this endpoint requires, or names another organization. GET /v2/scopes reports what a key holds.

error
Required
Error

Stable integer code from the /v2 error table. Branch on this.

message
Required
Message

One human-readable sentence. Wording may change; the code will not.

422

1001 — the body or query failed validation; the message names the first offending field.

error
Required
integer

Stable integer code from the error table. Branch on this, not on the message.

message
Required
string

One human-readable sentence. Wording may change; the code will not.

429

1300 — the per-organization request rate or concurrent-call limit was reached. Carries Retry-After.

error
Required
Error

Stable integer code from the /v2 error table. Branch on this.

message
Required
Message

One human-readable sentence. Wording may change; the code will not.

503

1501 — a service this endpoint depends on is unreachable or returned a 5xx.

error
Required
Error

Stable integer code from the /v2 error table. Branch on this.

message
Required
Message

One human-readable sentence. Wording may change; the code will not.

curl -X GET "https://api.graine.ai/v2/consent-records?limit=50&cursor=6728f0a1c3d4e5f6a7b8c9d0" \
  -H "Authorization: Bearer <token>"

A page.

{
  "items": [
    {
      "id": "6728f0a1c3d4e5f6a7b8c9d0",
      "subject": {
        "phone_masked": "+91••••••5678",
        "email_masked": "p•••@example.com",
        "has_user_key": false
      },
      "purpose": "Service reminders by phone",
      "notice_version": "2026-10",
      "mechanism": "web_form",
      "given_at": "2026-11-01T04:00:00+00:00",
      "withdrawn_at": "2026-11-02T12:30:00+00:00",
      "active": true,
      "created_by": "key_1a2b3c",
      "created_at": "2026-11-03T10:15:00+00:00"
    }
  ],
  "next_cursor": "6728f0a1c3d4e5f6a7b8c9d0"
}