Widget settings

get/v1/widget/settings

Whether the organization's storefront widgets show, and its holdout test: the share of visits that never see the chat widget, so what the widget adds can be measured against them (GET /v1/analytics/holdout).

Private keyapi.v1.widget.settings.retrieveNo demo

Response

200The settings.
enabledbooleanrequired

false when every widget is switched off.

WidgetHoldout | nullnullablerequired

The running holdout test, or null.

Option 1: WidgetHoldout

idstringrequired

The test.

percentintegerrequired

The share of visits kept from the chat widget.

startedAtstring (date-time)required

When the test started.

endedAtstring (date-time)

When it ended. Only on pastHoldouts.

Option 2: null

array<WidgetHoldout>required

Tests that ended, newest first (the last 20).

idstringrequired

The test.

percentintegerrequired

The share of visits kept from the chat widget.

startedAtstring (date-time)required

When the test started.

endedAtstring (date-time)

When it ended. Only on pastHoldouts.

Errors

19

Every error is JSON with a single error string unless noted. Match on the status code; the message is for humans.

This endpoint has no errors of its own beyond the shared set below.

curl -X GET "https://stylor.ai/api/v1/widget/settings" \
  -H "Authorization: Bearer $STYLOR_API_KEY"
Response · 200
{
  "enabled": true,
  "holdout": {
    "id": "hold_3f9a1c2b7d4e5f60",
    "percent": 10,
    "startedAt": "2026-11-01T09:00:00.000Z"
  },
  "pastHoldouts": []
}