Consent API
- Base URL:
https://consent.sls.epilot.io - API Docs: https://docs.epilot.io/api/consent
Consent Management for epilot customer entities
Quick Startโ
# List available operations
epilot consent
# Call an operation
epilot consent publishConsentEvent
Common Flagsโ
| Flag | Description |
|---|---|
-p key=value | Set a named parameter |
-d '{...}' | Request body JSON |
-H 'Key: Value' | Custom header |
-t, --token <token> | Bearer token for authentication |
--profile <name> | Use a named profile |
-s, --server <url> | Override server base URL |
-i, --include | Include response headers in output |
--json | Output raw JSON (no formatting) |
-v, --verbose | Verbose output (show request details) |
--jsonata <expr> | JSONata expression to transform response |
--definition <file> | Override OpenAPI spec file/URL |
--guided | Prompt for all parameters interactively |
--no-interactive | Disable interactive prompts |
Operationsโ
consent
publishConsentEventโ Publishes consent event on event bus, which appends to consent storelistConsentEventsโ List opt-ins and opt-outs by customer identifierhandleOptInWithTokenโ Endpoint to handle opt-in links
publishConsentEventโ
Publishes consent event on event bus, which appends to consent store
POST /v1/consent/publish
Request Body
Sample Call
epilot consent publishConsentEvent
With request body:
epilot consent publishConsentEvent \
-d '{
"type": "OPT_IN",
"topic": "EMAIL_MARKETING",
"source": "www.frontend.epilot.cloud",
"identifier": "exampleuser@epilot.cloud",
"meta": {
"double_opt_in": true,
"source_type": "journey",
"source_id": "0e4f2a26-14f0-4ada-9294-a7d7a0b9b214",
"ip_address": "1.1.1.1",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
}
}'
Using stdin pipe:
cat body.json | epilot consent publishConsentEvent
With JSONata filter:
epilot consent publishConsentEvent --jsonata 'type'
Sample Response
{
"type": "OPT_IN",
"created_at": "1970-01-01T00:00:00.000Z",
"topic": "EMAIL_MARKETING",
"source": "www.frontend.epilot.cloud",
"organization_id": "123",
"identifier": "exampleuser@epilot.cloud",
"meta": {
"double_opt_in": true,
"source_type": "journey",
"source_id": "0e4f2a26-14f0-4ada-9294-a7d7a0b9b214",
"ip_address": "1.1.1.1",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
}
}
listConsentEventsโ
List opt-ins and opt-outs by customer identifier
GET /v1/consent/{identifier}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
identifier | path | string | Yes | |
topic | query | string | No | |
limit | query | number | No | |
from | query | number | No |
Sample Call
epilot consent listConsentEvents \
-p identifier=exampleuser@epilot.cloud
Using positional args for path parameters:
epilot consent listConsentEvents exampleuser@epilot.cloud
With JSONata filter:
epilot consent listConsentEvents -p identifier=exampleuser@epilot.cloud --jsonata 'events'
Sample Response
{
"events": [
{
"type": "OPT_IN",
"created_at": "1970-01-01T00:00:00.000Z",
"topic": "EMAIL_MARKETING",
"source": "www.frontend.epilot.cloud",
"organization_id": "123",
"identifier": "exampleuser@epilot.cloud",
"meta": {
"double_opt_in": true,
"source_type": "journey",
"source_id": "0e4f2a26-14f0-4ada-9294-a7d7a0b9b214",
"ip_address": "1.1.1.1",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
}
}
],
"total": 1
}
handleOptInWithTokenโ
Endpoint to handle opt-in links
GET /v1/opt-in/{token}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
token | path | string | Yes | |
lang | query | string | No |
Sample Call
epilot consent handleOptInWithToken \
-p token=example
Using positional args for path parameters:
epilot consent handleOptInWithToken example
With JSONata filter:
epilot consent handleOptInWithToken -p token=example --jsonata '$'