Walker Formulation Academy for developers API reference Error catalog OpenAPI
Sections

Channels

Methods in this section: 2. All methods

MethodPathDescriptionScopesStatus
GET/channels/{id}/widgetGet chat widget settingschannels:readAvailable
PATCH/channels/{id}/widgetUpdate chat widget settingschannels:writeAvailable
GET /channels/{id}/widget Available

#Get chat widget settings

Appearance of the chat widget of your web_chat channel: assistant, operator queue, attribution, visitor files, color and more. A channel of another type or another account — not_found.

Scopes
channels:read
Rate limit
read
Idempotency
not required
Successful response
200 Widget settings.

Parameters

FieldTypeDescription
idstring
required
In: path. The web_chat channel id.

Response body

FieldTypeDescription
channel_idstring
required
The web_chat channel id.
namestring
required
Channel name.
is_activeboolean
required
The channel is active.
assistant_namestring
required, may be null
Assistant name in the header; defaults to the channel name. Up to 60 characters.
assistant_subtitlestring
required, may be null
Assistant subtitle. Up to 80 characters.
assistant_avatar_urlstring
required, may be null
Assistant icon (header and feed). Only https:// or a path on this cell starting with "/". Up to 500 characters.
queue_titlestring
required, may be null
Header title while the conversation waits for an operator. Up to 60 characters.
queue_subtitlestring
required, may be null
Subtitle while waiting for an operator. Up to 80 characters.
queue_icon_urlstring
required, may be null
Icon while waiting for an operator. Only https:// or a path on this cell starting with "/". Up to 500 characters.
powered_byChannelWidgetPoweredBy
required
filesChannelWidgetFiles
required
colorstring
required, may be null
Widget color: #rrggbb.
greetingstring
required, may be null
Greeting. Up to 500 characters.
positionstring
required, may be null
Launcher corner.
Values: bottom-right bottom-left
themestring
required, may be null
Theme.
Values: light dark
bubble_textstring
required, may be null
Launcher hint text. Up to 60 characters.
delayinteger
required, may be null
Display delay, seconds.
consent_textstring
required, may be null
Consent text before the first message. Up to 600 characters.
consent_urlstring
required, may be null
Link to the consent document: https:// only.

Examples

Request
curl -X GET 'https://wfacademy.id/api/public/v1/channels/EXAMPLE_ID/widget' \
  -H 'Authorization: Bearer '"$API_KEY"
Response 200
{
  "channel_id": "EXAMPLE_ID",
  "name": "string",
  "is_active": false,
  "assistant_name": "string",
  "assistant_subtitle": "string",
  "assistant_avatar_url": "https://example.com/hooks/sapport",
  "queue_title": "string",
  "queue_subtitle": "string",
  "queue_icon_url": "https://example.com/hooks/sapport",
  "powered_by": {
    "mode": "default",
    "text": "string",
    "url": "https://example.com/hooks/sapport"
  },
  "files": {
    "visitor_upload": false,
    "max_mb": 1
  },
  "color": "string",
  "greeting": "string",
  "position": "bottom-right",
  "theme": "light",
  "bubble_text": "string",
  "delay": 0,
  "consent_text": "string",
  "consent_url": "https://example.com/hooks/sapport"
}
Error example
{
  "type": "https://wfacademy.id/developers/errors#scope_missing",
  "title": "Scope is missing",
  "status": 403,
  "code": "scope_missing",
  "detail": "EXAMPLE",
  "request_id": "req_EXAMPLE"
}

Examples are illustrative: the key in them is a placeholder (EXAMPLE), field values are made up.

Possible errors

invalid_api_key wrong_cell integration_inactive tenant_inactive ip_not_allowed feature_not_in_plan rate_limited wallet_suspended service_unavailable internal_error scope_missing not_found

PATCH /channels/{id}/widget Available

#Update chat widget settings

The same checks as in the dashboard: color #rrggbb, image URLs https:// or a path on your site only, field lengths; a failure is validation_failed with field errors. The change is recorded in the audit log.

Scopes
channels:write
Rate limit
write
Idempotency
not required
Successful response
200 Settings after the update.

Parameters

FieldTypeDescription
idstring
required
In: path. The web_chat channel id.

Request body The fields to change.

FieldTypeDescription
assistant_namestring
optional, may be null
Assistant name in the header; defaults to the channel name. Up to 60 characters.
assistant_subtitlestring
optional, may be null
Assistant subtitle. Up to 80 characters.
assistant_avatar_urlstring
optional, may be null
Assistant icon (header and feed). Only https:// or a path on this cell starting with "/". Up to 500 characters.
queue_titlestring
optional, may be null
Header title while the conversation waits for an operator. Up to 60 characters.
queue_subtitlestring
optional, may be null
Subtitle while waiting for an operator. Up to 80 characters.
queue_icon_urlstring
optional, may be null
Icon while waiting for an operator. Only https:// or a path on this cell starting with "/". Up to 500 characters.
powered_byChannelWidgetPoweredBy
optional, may be null
filesobject
optional, may be null
files.visitor_uploadboolean
optional
Visitors may send files. Default true.
files.max_mbinteger
optional
Per-file limit, MB (1–10).
colorstring
optional, may be null
Widget color: #rrggbb.
greetingstring
optional, may be null
Greeting. Up to 500 characters.
positionstring
optional, may be null
Launcher corner.
Values: bottom-right bottom-left
themestring
optional, may be null
Theme.
Values: light dark
bubble_textstring
optional, may be null
Launcher hint text. Up to 60 characters.
delayinteger
optional, may be null
Display delay, seconds.
consent_textstring
optional, may be null
Consent text before the first message. Up to 600 characters.
consent_urlstring
optional, may be null
Link to the consent document: https:// only.

Response body

FieldTypeDescription
channel_idstring
required
The web_chat channel id.
namestring
required
Channel name.
is_activeboolean
required
The channel is active.
assistant_namestring
required, may be null
Assistant name in the header; defaults to the channel name. Up to 60 characters.
assistant_subtitlestring
required, may be null
Assistant subtitle. Up to 80 characters.
assistant_avatar_urlstring
required, may be null
Assistant icon (header and feed). Only https:// or a path on this cell starting with "/". Up to 500 characters.
queue_titlestring
required, may be null
Header title while the conversation waits for an operator. Up to 60 characters.
queue_subtitlestring
required, may be null
Subtitle while waiting for an operator. Up to 80 characters.
queue_icon_urlstring
required, may be null
Icon while waiting for an operator. Only https:// or a path on this cell starting with "/". Up to 500 characters.
powered_byChannelWidgetPoweredBy
required
filesChannelWidgetFiles
required
colorstring
required, may be null
Widget color: #rrggbb.
greetingstring
required, may be null
Greeting. Up to 500 characters.
positionstring
required, may be null
Launcher corner.
Values: bottom-right bottom-left
themestring
required, may be null
Theme.
Values: light dark
bubble_textstring
required, may be null
Launcher hint text. Up to 60 characters.
delayinteger
required, may be null
Display delay, seconds.
consent_textstring
required, may be null
Consent text before the first message. Up to 600 characters.
consent_urlstring
required, may be null
Link to the consent document: https:// only.

Examples

Request
curl -X PATCH 'https://wfacademy.id/api/public/v1/channels/EXAMPLE_ID/widget' \
  -H 'Authorization: Bearer '"$API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "assistant_name": "string",
  "assistant_subtitle": "string",
  "assistant_avatar_url": "https://example.com/hooks/sapport",
  "queue_title": "string",
  "queue_subtitle": "string",
  "queue_icon_url": "https://example.com/hooks/sapport",
  "powered_by": {
    "mode": "default",
    "text": null,
    "url": null
  },
  "files": {
    "visitor_upload": false,
    "max_mb": 1
  },
  "color": "string",
  "greeting": "string",
  "position": "bottom-right",
  "theme": "light",
  "bubble_text": "string",
  "delay": 0,
  "consent_text": "string",
  "consent_url": "https://example.com/hooks/sapport"
}'
Response 200
{
  "channel_id": "EXAMPLE_ID",
  "name": "string",
  "is_active": false,
  "assistant_name": "string",
  "assistant_subtitle": "string",
  "assistant_avatar_url": "https://example.com/hooks/sapport",
  "queue_title": "string",
  "queue_subtitle": "string",
  "queue_icon_url": "https://example.com/hooks/sapport",
  "powered_by": {
    "mode": "default",
    "text": "string",
    "url": "https://example.com/hooks/sapport"
  },
  "files": {
    "visitor_upload": false,
    "max_mb": 1
  },
  "color": "string",
  "greeting": "string",
  "position": "bottom-right",
  "theme": "light",
  "bubble_text": "string",
  "delay": 0,
  "consent_text": "string",
  "consent_url": "https://example.com/hooks/sapport"
}
Error example
{
  "type": "https://wfacademy.id/developers/errors#scope_missing",
  "title": "Scope is missing",
  "status": 403,
  "code": "scope_missing",
  "detail": "EXAMPLE",
  "request_id": "req_EXAMPLE"
}

Examples are illustrative: the key in them is a placeholder (EXAMPLE), field values are made up.

Possible errors

invalid_api_key wrong_cell integration_inactive tenant_inactive ip_not_allowed feature_not_in_plan rate_limited wallet_suspended service_unavailable internal_error scope_missing not_found bad_request validation_failed payload_too_large