Skip to main content
GET
/
api
/
chatwoot
/
list
/
:instance
Status / info
curl --request GET \
  --url https://api.example.com/api/chatwoot/list/:instance \
  --header 'token: <token>'
Auth: TokenAccount or TokenInstanceRate limit: Global (100/min) • Idempotent: yes

Description

Returns the local status of the Chatwoot integration and complements it with the current state (best-effort). This response includes the chatwoot_api_token in plaintext and the behaviour flags (sign_messages, ignore_groups, start_as_pending, reopen_resolved).

Example

curl -X GET "https://ryzeapi.cloud/api/chatwoot/list/suporte" \
  -H "token: $Token_Account"

Success response

200 OK
{
  "instance_name": "suporte",
  "status": "active",
  "bridge_integration_id": "int_xyz789abc",
  "chatwoot_base_url": "https://chatwoot.example.com",
  "chatwoot_account_id": 5,
  "chatwoot_api_token": "sk_live_abc123...",
  "chatwoot_inbox_id": 42,
  "chatwoot_inbox_name": "WhatsApp - Orion",
  "last_error": "",
  "created_at": "2026-04-20T10:15:30Z",
  "sign_messages": true,
  "ignore_groups": false,
  "start_as_pending": false,
  "reopen_resolved": true
}
FieldDescription
instance_nameInstance name.
statusactive / paused / error. When available, reflects the current state.
bridge_integration_idInternal integration ID.
chatwoot_base_urlURL of the Chatwoot installation.
chatwoot_account_idNumeric ID of the Chatwoot account.
chatwoot_api_tokenAPI token (access_token) of the Chatwoot account, in plaintext. Comes from the decrypted local row. See the warning below.
chatwoot_inbox_idID of the inbox created in Chatwoot (filled in after the first list that manages to sync).
chatwoot_inbox_nameInbox name.
last_errorLast error message from the integration. Empty when healthy.
created_atRFC 3339 timestamp when the integration was created.
sign_messagesPrefixes every message sent by an agent with *Name*: (WhatsApp bold).
ignore_groupsDoes not route group events to Chatwoot.
start_as_pendingCreates new conversations as pending instead of open.
reopen_resolvedReopens a resolved conversation when a new message arrives, instead of creating a new one.
The chatwoot_api_token is returned in plaintext in this response (it is stored encrypted at rest). Since this token usually has broad access to the Chatwoot account, treat the response as sensitive: avoid logging it or caching it on the client.
The sign_messages / ignore_groups / start_as_pending / reopen_resolved flags are persisted locally and reflect the last set. They are always returned, including as false.

Path parameters

instance
string
required
Instance name (e.g., suporte).

Headers

token
string
required
TokenAccount or TokenInstance.

Behavior

1

Read local data

Queries the chatwoot_integrations table. This step is fast and always works.
2

Complement with the current state (best-effort)

RyzeAPI tries to fetch the current state of the integration with a 10s timeout. On network failure, it falls back to local data.
3

Overwrite volatile fields

When the current state is available, status and last_error are replaced with the live values.
4

Backfill of inbox_id

If the inbox_id became available and the local one is still 0, the database is updated (SetInboxID), useful for eventual-consistency cases right after set.

Errors

HTTPerror.message
404instance not found
404no chatwoot integration for this instance
503integration gateway not configured
If last_error is non-empty, inspect the message, it usually indicates that Chatwoot dropped the session (token rotated, inbox manually removed, etc.). Reactivating with POST /api/chatwoot/set/:instance usually fixes it.

Next

Reactivate / update

Use POST /api/chatwoot/set/:instance to fix credentials or flags.

Deactivate

Remove the integration.