Skip to navigation

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.
  • 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.

ScopeGET / HEADPOST / PUT / PATCH / DELETEAdmin-only routes
readYesNoNo
writeYesYesNo
fullYesYesYes

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.

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