Skip to content

An export finished

POST

Once when an export reaches completed. download_url is null: fetch urls.self with your key for a fresh link.

Media typeapplication/json
WebhookEvent_ExportSummary_
object
api_version
Api Version

The payload version

string
default: v1
Allowed value: v1
created
required
Created

When the event happened

string format: date-time
data
required
WebhookData_ExportSummary_

The event’s object

object
object
required
ExportSummary

The topic’s object

object
bytes
required
Any of:
integer
completed_at
required
Any of:
string format: date-time
dataset
required
Dataset

What the file holds

string
Allowed values: profiles responses quiz_analytics audit_events
download_url
Any of:
string
download_url_expires_at
Any of:
string format: date-time
error
required
Any of:
string
expires_at
required
Expires At

When the export and its file are deleted

string format: date-time
filters
required
ExportFilters

The filters the export was requested with

object
from
Any of:
string format: date
quiz_id
Any of:
string
/^quiz_[0-9a-f]{32}$/
search
Any of:
ProfileSearch

Who to find: the list filters of GET /v1/profiles except q, plus person facts and an answer filter, an OR of AND groups. Send the same body with every page: a cursor belongs to the search that answered it and is refused with any other body.

object
from
Any of:
string format: date
groups
Any of:
Array<object>
<= 4 items
ProfileSearchGroup
object
all
required
All

Every slot must hold: a term, or {any: [terms]}; at most 8 terms in the group, counting the terms inside any

Array
>= 1 items <= 8 items
Any of:
ProfileSearchTerm
object
component_key
Any of:
string
<= 200 characters
dimension_id
Any of:
string
<= 200 characters
kind
required
Kind

Choice | number | date | text | email | phone: a question of the quiz (page_key + component_key); points: a dimension (dimension_id); formula: a formula component (page_key + component_key); winner: the top dimension (dimension ids in option_ids); session: how the shopper’s session ended (value completed | abandoned, page_key the page they left on)

string
Allowed values: choice number date text email phone points formula winner session
max
Any of:
number
min
Any of:
number
op
required
Op

Choice: in | not_in; number, points, formula: eq | lt | gt | between; date: eq | before | after | between; text: contains | equals | matches | answered | not_answered; email, phone: answered | not_answered; winner: in; session: equals. not_in means answered the question and picked none of these; not_answered means took the quiz and left the question unanswered.

string
Allowed values: in not_in eq lt gt between before after contains equals matches answered not_answered
option_ids
Any of:
Array<string>
<= 50 items
option_labels
Any of:
Array<string>
<= 50 items
page_key
Any of:
string
<= 200 characters
quiz_id
required
Quiz Id

The quiz the term reads

string
/^quiz_[0-9a-f]{32}$/
value
Any of:
number
has_email
Any of:
boolean
has_marketing_consent
Any of:
boolean
has_order
Any of:
boolean
has_phone
Any of:
boolean
is_returning
Any of:
boolean
match
Match

Any_session: any time they took the quiz counts; latest_completed_per_quiz: only their latest completed take of each quiz

string
default: any_session
Allowed values: any_session latest_completed_per_quiz
quiz_id
Any of:
string
/^quiz_[0-9a-f]{32}$/
to
Any of:
string format: date
to
Any of:
string format: date
tz
Any of:
string
<= 64 characters
format
required
Format

The file’s format

string
Allowed values: csv json
id
required
Id

The export

string
/^exp_[0-9a-f]{32}$/
requested_at
required
Requested At

When the export was requested

string format: date-time
row_count
required
Any of:
integer
source
required
Source

Where the export was requested

string
Allowed values: api dashboard
started_at
required
Any of:
string format: date-time
status
required
Status

Pending | running | completed | failed | expired

string
Allowed values: pending running completed failed expired
urls
required
Urls

Self: this export on the API; fetch it for a fresh download link

object
key
additional properties
string
id
required
Id

The event id, also sent as the webhook-id header; deduplicate on it

string
/^evt_[0-9a-f]{32}$/
type
required
Type

The topic: quiz.started | quiz.finished | quiz.abandoned | identity.captured | quiz.published | experiment.started | experiment.ended | profile.created | profile.updated | export.completed | webhook.endpoint.disabled | ping

string

Any 2xx within 10 seconds acknowledges the event

410 ends the delivery and disables the endpoint; any other 4xx but 408 and 429 ends it

Retried, as are 408, 429, a timeout and a network error: seven retries over about 28 hours, then the delivery is dead