block_support_contact
Drop every further support message from the member behind a thread. They get no indication, and their subscription is untouched.
This silences a real person
Confirm the target conversation_id with a human before calling. The member
is not told, their messages vanish at ingestion with no bounce, and they
cannot reopen the thread by writing again. The tool is annotated destructive
so a client can prompt for confirmation.
Purpose
Stop a member's support traffic. Everything they send from now on is dropped at ingestion, before it reaches the inbox; nothing is queued and nothing is stored. Their history stays on the thread.
The block lives on the thread, not on the member, so it silences support only. The member keeps their subscription, their group access and every other bot interaction. To take access away, call kick_member or ban_member instead — blocking is for someone who is abusing the inbox, not someone who should no longer be a member.
Emits support.conversation.blocked when the block is placed. Idempotent: blocking an already-blocked member changes nothing and emits nothing.
Blocking does not resolve the thread. It stays in whatever status it had, so
call resolve_support_conversation
as well if it should leave the open queue. A blocked member's messages can
never reopen it; only
reopen_support_conversation can.
Required ability
support-conversation:update
Input schema
{
"type": "object",
"required": ["conversation_id"],
"properties": {
"conversation_id": {
"type": "string",
"description": "UUID of the support conversation whose member to block."
}
}
}Output shape
{
"data": {
"id": "9e042b6f-5d81-4c37-a920-7b3e18cf6d45",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"channel": "telegram",
"status": "open",
"assigned_to_user_id": null,
"unread_count": 3,
"blocked": true,
"first_response_at": null,
"resolved_at": null
}
}blocked: true is the only field this call changes. The unread count stays as it was — the messages already received are still there to read.
Example prompts
"Block the member behind support conversation
9e042b6f-5d81-4c37-a920-7b3e18cf6d45; they've sent forty messages of abuse overnight."
"Silence that contact in the support inbox but leave their subscription alone."
"Block them and resolve the thread." (block first, then resolve)
Failure modes
VALIDATION_FAILED— the token's owner is on the project's team but their role lacks the support permission on it.RESOURCE_NOT_FOUND— unknownconversation_id, another creator's thread, or a project outside the token'sscope:project:allow-list.AUTHENTICATION_REQUIRED— no authenticated user on the request.TOKEN_MISSING_ABILITY— token lackssupport-conversation:update.
Related
unblock_support_contact— reverse it.kick_memberandban_member— remove access rather than silence support.get_support_conversation— read the thread before deciding.support.conversation.blocked— the event this raises.- Support conversations API —
POST /v1/support/conversations/{id}/block. - Support inbox — the feature walkthrough.
How is this guide?