Support
Instance support inbox — inbound human messages captured from the bot channels, and replies back through them. Super admin only. Threads belong to the INSTANCE, not to an organization: the sender is frequently a phone number with no org to attribute it to, and a message from a stranger must not be dropped for lack of one. organizationUid/userUid on a thread are attribution hints for the operator, never an access boundary.
List support threads
Returns captured support conversations, most recent activity first. Super-admin only.
Get one support thread
Returns the thread, marking it read. Super-admin only.
Update a support thread
Change the operator-set status or the subject. Super-admin only.
List a thread's messages
Chronological order, oldest first. Super-admin only.
Reply to a support thread
Sends the reply through the channel the thread arrived on AND records it. Returns 409 when the reply cannot be sent right now — a lapsed WhatsApp 24-hour window, a channel with no reply adapter, or a thread with no route back (an unconnected Slack workspace, a missing channel id, no SMS sender) — which is a refusal we make deliberately rather than a provider error surfaced after the fact. **Nothing is stored on a 409**: no send was attempted, so there is no attempt to record. Returns 202 when a send WAS attempted and the provider rejected it: that row is recorded with delivery.status = failed, so an operator is never left unsure whether the attempt happened, and it can be retried through the resend endpoint. Super-admin only.
Resend a failed outbound reply
Re-runs the reply pre-flight (window, then routing) and the provider send for an outbound message whose delivery failed, rewriting that message's delivery record in place rather than appending a second copy. Only a failed outbound message qualifies — resending a delivered reply would send the same text to a customer twice. Returns 409 when the thread still cannot be replied to, and 202 when the provider rejected the retry as well. Super-admin only.