Revoke consent

View as Markdown
Marks the contact's active `granted` record of one consent type as `revoked` and sets `revoked_at`. The request succeeds even when there is nothing to revoke. Records are never deleted, so the history stays in `GET /api/compliance/consent/{contactId}`. Revoking consent does **not** add the number to the suppression list. To stop all outreach to a number, the contact must opt out, or you import the number with `POST /api/compliance/suppressions/import` (`source: customer_list`). **Side effects.** Updates at most one consent record. Evicts the contact's cached consent check and history. Writes an audit entry (`revoke_consent`). **Idempotency.** Safe to retry. A repeat finds no active grant, changes nothing and still returns `success: true`. **Access** - **Required scope:** `full`. Signed-in users need the `owner` or `admin` role. - **Rate limit:** General API — 120 (Starter), 200 (Growth), 300 (Business) or 600 (Enterprise) requests/min per workspace. See [Rate limits](/rate-limits). - **Plan:** Available on every plan.

Authentication

AuthorizationBearer
Workspace API key: `jl_` followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (**Settings → API Keys**) and sent as `Authorization: Bearer jl_...`. The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys. | Scope | GET / HEAD | POST / PUT / PATCH / DELETE | Admin-only routes | | --- | --- | --- | --- | | `read` | Yes | No | No | | `write` | Yes | Yes | No | | `full` | Yes | Yes | Yes | Operations restricted to admins or owners reject keys without the `full` scope with `403`, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See [Authentication](/authentication).

Request

This endpoint expects an object.
contactIdstringRequiredformat: "uuid"
The contact whose consent is revoked.
consentTypeenumRequired
The consent type to revoke. - `voice_call`: phone calls. - `email`: commercial email. - `data_processing`: storing and processing personal data.
Allowed values:

Response

Consent revoked, or there was no active grant.
dataobject

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
429
Too Many Requests Error