Ignored contacts
An ignored contact is an identifier that Hub discards on one application channel. It is useful when a personal contact, test account, or unwanted sender should stay out of your support workflow. Hub does not block the person on WhatsApp, Instagram, Messenger, SMS, Telegram, or your website. The provider may still deliver their events to Hub; matching inbound events do not enter the conversation workflow, webhooks, or Agent.
Manage the list in Hub → Application → Channels → your channel → Ignored contacts, below the Agent settings, or use the API with that application's x-api-key. An API key can manage only channels belonging to its application. Adding an identifier does not remove earlier conversations. Removing it lets later matching events through again.
Choose an identifier
Use the sender.id from an inbound message webhook when available. The identifier belongs to the sender, not the recipient or the Hub application channel. Each entry has one type and one value.
| Channel | Accepted type | Example value | Matching behavior |
|---|---|---|---|
phone, bsuid | 5511993986082, BR.2233605504058131 | Phone punctuation and + are removed; BSUID is exact. Either identifier can match. | |
id, username | 847495124317323, dev.luch | ID is exact. Username ignores case and a leading @, but matches only when the event or a provider profile lookup supplies it. | |
| Messenger | id | 26203292189261166 | Exact sender ID. |
| SMS | phone | +5511993986082 | Compared as digits after removing phone punctuation. |
| Telegram | id, username | 8568649397, dev_luch | ID is exact. Username ignores case and a leading @, but matches only when the event supplies it. |
| Web Chatt | visitor_id | The visitor ID from an inbound webhook | Exact visitor ID. The browser controls this value and can change it by clearing local data; it is not a permanent person ID. |
Prefer a provider ID over a username. A person's display name is not a supported identifier. Phone values must contain 8–15 digits after normalization. The list preserves the entered value for display and deduplicates by the normalized value, type, and application channel.
Add, list, and remove
Replace the channel UUID and key in these examples. The optional note is for your team; keep sensitive details out of it.
curl -X POST 'https://app.chatt2.me/v1/communication/channel/CHANNEL_UUID/ignored-contacts' \
-H 'x-api-key: YOUR_APPLICATION_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"type":"id","value":"847495124317323","note":"Test account"}'
The 201 response includes id, type, the entered value, note, createdDate, and createdBy (user or api_key). It never returns an API-key secret.
curl -G 'https://app.chatt2.me/v1/communication/channel/CHANNEL_UUID/ignored-contacts' \
-H 'x-api-key: YOUR_APPLICATION_API_KEY' \
--data-urlencode 'search=Test account' \
--data-urlencode 'offset=0' \
--data-urlencode 'limit=10'
The list returns data and pagination with offset, limit, and total. Search looks for a literal, case-insensitive substring in the displayed identifier or note. Results are newest first; limit accepts 10, 25, or 50.
curl -X DELETE 'https://app.chatt2.me/v1/communication/channel/CHANNEL_UUID/ignored-contacts/ENTRY_UUID' \
-H 'x-api-key: YOUR_APPLICATION_API_KEY'
A successful delete returns 204 with no body. An unknown or inaccessible channel or entry returns 404; a duplicate normalized identifier returns 409. Invalid types, values, or pagination parameters return 400. See the API reference for the full request and response schemas.
Web Chatt behavior
An ignored visitor connecting again is closed with WebSocket policy code 1008. If the visitor is added to the list while already connected, their next message receives a message.ack with status: "ignored" and is not saved; profile changes and upload preparation are also discarded. This status is part of the widget protocol and does not reveal which identifier was listed.