widget
8 operations
GET/v1/widget/config
Configuration of the widget for a public key: brand, texts, capture, passive collection.
/v1/widget/configCached for a minute (Cache-Control) with an ETag. 402 when the plan has no widget, 404 for an unknown key, 409 white_label_not_configured while an agency workspace has no verified status domain: the widget turns itself off.
Authentication: None
Parameters
| Name | Type | Description |
|---|---|---|
keyqueryrequired | string | |
localequery | enum | Values en | it |
Response 200
| Name | Type | Description |
|---|---|---|
localerequired | enum | Values en | it |
brandrequired | object | |
brand.namerequired | string | |
brand.logo_urlrequired | string (uri) | |
brand.primary_colorrequired | string | |
brand.font_familyrequired | string | |
brand.markrequired | enum | Values loopback | image | text |
textsrequired | object | |
texts.buttonrequired | string | |
texts.titlerequired | string | |
texts.message_labelrequired | string | |
texts.message_placeholderrequired | string | |
texts.email_labelrequired | string | |
texts.technical_consentrequired | string | |
texts.screenshot_buttonrequired | string | |
texts.screenshot_consentrequired | string | |
texts.submitrequired | string | |
texts.confirmationrequired | string | |
texts.follow_linkrequired | string | |
texts.errorrequired | string | |
show_badgerequired | boolean | |
badgerequired | object | |
badge.textrequired | string | |
badge.durationrequired | string | |
badge.hrefrequired | string (uri) | |
capturerequired | object | |
capture.consolerequired | boolean | |
capture.networkrequired | boolean | |
capture.screenshotrequired | boolean | |
capture.mask_selectorsrequired | array of string | |
passiverequired | object | |
passive.enabledrequired | boolean | |
passive.sample_raterequired | number | |
user_hash_saltrequired | string | |
positionrequired | enum | Values bottom-right | bottom-left |
themerequired | enum | Values auto | light | dark |
POST/v1/widget/events
Passive error events (host consent required), stored for the proactive mode.
/v1/widget/eventsBody as text/plain (sendBeacon) or application/json, at most 256 KiB. Only with consent: true, while the workspace collects passively on a plan with the proactive mode (403 otherwise). Events are symbolicated with the release source maps and fingerprinted; error storms are sampled.
Authentication: None
Parameters
| Name | Type | Description |
|---|---|---|
keyqueryrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
keyrequired | string | |
consentrequired | true | |
eventsrequired | array of object | |
events[].messagerequired | string | |
events[].stack | string | |
events[].urlrequired | string | |
events[].release | string | |
events[].user_hash | string | |
events[].occurred_atrequired | string (date-time) | |
events[].browser | object | |
events[].browser.user_agentrequired | string | |
events[].browser.name | string | |
events[].browser.version | string | |
events[].browser.os | string | |
events[].browser.language | string | |
events[].browser.viewport | object | |
events[].browser.viewport.widthrequired | integer | |
events[].browser.viewport.heightrequired | integer | |
events[].browser.screen | object | |
events[].browser.screen.widthrequired | integer | |
events[].browser.screen.heightrequired | integer |
Response 202
| Name | Type | Description |
|---|---|---|
acceptedrequired | integer | |
storedrequired | integer | |
sampled_outrequired | integer |
POST/v1/widget/identify
Links an end-user hash to an email (host consent required), for proactive notices.
/v1/widget/identifyAuthentication: None
Parameters
| Name | Type | Description |
|---|---|---|
keyqueryrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
keyrequired | string | |
user_hashrequired | string | |
emailrequired | string (email) | |
consentrequired | true |
Response 200
| Name | Type | Description |
|---|---|---|
okrequired | true |
POST/v1/widget/reports
A report from the widget form: creates a ticket of origin widget.
/v1/widget/reportsIdempotency-Key (16-64 characters, the same on every attempt of one report): for 24 hours a retry of the same message and email answers with the original ticket (Idempotent-Replayed: true), the same key with other content gets 409 idempotency_conflict. Technical context needs consent.technical, a screenshot consent.screenshot.
Authentication: None
Parameters
| Name | Type | Description |
|---|---|---|
keyqueryrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
keyrequired | string | |
messagerequired | string | |
email | string (email) | |
name | string | |
user_hash | string | |
page_url | string | |
release | string | |
locale | enum | Values en | it |
consentrequired | object | |
consent.technicalrequired | boolean | |
consent.screenshotrequired | boolean | |
context | object | |
context.console | array of object | |
context.console[].levelrequired | enum | Values error | warn | unhandled_exception | unhandled_rejection |
context.console[].messagerequired | string | |
context.console[].stack | string | |
context.console[].timestamprequired | string (date-time) | |
context.network | array of object | |
context.network[].methodrequired | string | |
context.network[].urlrequired | string | |
context.network[].statusrequired | integer | |
context.network[].duration_msrequired | number | |
context.network[].timestamprequired | string (date-time) | |
context.network[].error | string | |
context.browser | object | |
context.browser.user_agentrequired | string | |
context.browser.name | string | |
context.browser.version | string | |
context.browser.os | string | |
context.browser.language | string | |
context.browser.viewport | object | |
context.browser.viewport.widthrequired | integer | |
context.browser.viewport.heightrequired | integer | |
context.browser.screen | object | |
context.browser.screen.widthrequired | integer | |
context.browser.screen.heightrequired | integer | |
context.url | string | |
context.release | string | |
context.screenshot_url | any | |
context.symbolicated | any | |
screenshot | string |
Response 201
| Name | Type | Description |
|---|---|---|
receivedrequired | true | |
status_urlrequired | string (uri) |
GET/v1/workspaces/{id}/widget
Widget settings of a workspace, with its install status and preview (owner, admin).
/v1/workspaces/{id}/widgetA workspace without a widget install (created before the widget existed, or imported) gets one on this first read: a new public key and no allowed origin.
Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
workspace_idrequired | string | |
public_keyrequired | string | |
allowed_originsrequired | array of string | |
capturerequired | object | |
capture.consolerequired | boolean | |
capture.networkrequired | boolean | |
capture.screenshotrequired | boolean | |
capture.mask_selectorsrequired | array of string | |
passiverequired | object | |
passive.enabledrequired | boolean | |
passive.sample_raterequired | number | |
passive.availablerequired | boolean | |
created_atrequired | string (date-time) | |
rotated_atrequired | string (date-time) | |
statusrequired | object | |
status.activerequired | boolean | |
status.blockersrequired | array of enum | |
status.white_label_missingrequired | array of string | |
installrequired | object | |
install.script_urlrequired | string (uri) | |
install.api_urlrequired | string (uri) | |
install.default_api_urlrequired | string (uri) | |
install.white_labelrequired | boolean | |
install.upload_api_urlrequired | string (uri) | |
previewrequired | object | |
preview.localerequired | enum | Values en | it |
preview.brandrequired | object | |
preview.brand.namerequired | string | |
preview.brand.logo_urlrequired | string (uri) | |
preview.brand.primary_colorrequired | string | |
preview.brand.font_familyrequired | string | |
preview.brand.markrequired | enum | Values loopback | image | text |
preview.textsrequired | object | |
preview.texts.buttonrequired | string | |
preview.texts.titlerequired | string | |
preview.texts.message_labelrequired | string | |
preview.texts.message_placeholderrequired | string | |
preview.texts.email_labelrequired | string | |
preview.texts.technical_consentrequired | string | |
preview.texts.screenshot_buttonrequired | string | |
preview.texts.screenshot_consentrequired | string | |
preview.texts.submitrequired | string | |
preview.texts.confirmationrequired | string | |
preview.texts.follow_linkrequired | string | |
preview.texts.errorrequired | string | |
preview.show_badgerequired | boolean | |
preview.badgerequired | object | |
preview.badge.textrequired | string | |
preview.badge.durationrequired | string | |
preview.badge.hrefrequired | string (uri) | |
preview.capturerequired | object | |
preview.capture.consolerequired | boolean | |
preview.capture.networkrequired | boolean | |
preview.capture.screenshotrequired | boolean | |
preview.capture.mask_selectorsrequired | array of string | |
preview.passiverequired | object | |
preview.passive.enabledrequired | boolean | |
preview.passive.sample_raterequired | number | |
preview.positionrequired | enum | Values bottom-right | bottom-left |
preview.themerequired | enum | Values auto | light | dark |
activityrequired | object | |
activity.last_report_atrequired | string (date-time) | |
activity.reports_30drequired | integer | |
activity.last_event_atrequired | string (date-time) | |
activity.events_24hrequired | integer |
PATCH/v1/workspaces/{id}/widget
Changes allowed origins, capture and passive collection of the widget (owner, admin).
/v1/workspaces/{id}/widgetAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
allowed_origins | array of string | |
capture | object | |
capture.console | boolean | |
capture.network | boolean | |
capture.screenshot | boolean | |
capture.mask_selectors | array of string | |
passive | object | |
passive.enabled | boolean | |
passive.sample_rate | number |
Response 200
The same fields as GET /v1/workspaces/{id}/widget.
POST/v1/workspaces/{id}/widget/rotate-key
Replaces the public key; the old key stops working (owner, admin).
/v1/workspaces/{id}/widget/rotate-keyAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
The same fields as GET /v1/workspaces/{id}/widget.
POST/v1/workspaces/{id}/widget/test-report
Sends a test report through the widget intake: a closed ticket, no tokens spent.
/v1/workspaces/{id}/widget/test-reportAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
locale | enum | Values en | it |
Response 201
| Name | Type | Description |
|---|---|---|
ticket_idrequired | string | |
status_urlrequired | string (uri) |