https://inkbox.ai/api/v1/slack. These operations use the selected workspace connection and its actual Slack permissions. They do not bypass message authorship, channel membership, workspace policies, or rate limits.
Idempotent operations
Every write below requiresIdempotency-Key. Use 1–128 characters from letters, digits, ., _, :, or -.
- Save one key before starting each logical operation.
- Repeating that key with the same operation, conversation, and input returns its existing result without repeating the write.
- Reusing it with different input on the same connection returns
409. - A new key requests a new operation. It can duplicate an earlier uncertain write.
A stale
in_progress operation becomes unknown after roughly two minutes, without repeating the write.
HTTP 200 does not mean the operation succeeded. unknown is not an automatically reconciling state. retry_after, when present, is a delay in seconds; waiting does not cause the original operation to run again.
There are no operation-outcome webhooks for this family. Inspect the response and poll Get operation while it is in_progress. The slack.message_sent, slack.message_send_failed, and slack.message_send_unknown events report message sends, not these operations.
Get operation
200 with the operation object above. Recorded outcomes remain inspectable after disconnect if you still have access to the owning identity.
operation is one of reaction_add, reaction_remove, pin_add, pin_remove, message_update, message_delete, file_upload, conversation_join, conversation_leave, or processing_status. Optional coordinates and status fields are null when unavailable.
Edit or delete a message
text is required, 1–12,000 characters. DELETE has no body. Both return 200 with an operation object. Slack restricts which messages the bot can edit or delete; these endpoints do not grant authority over other users’ messages.
Read reactions
200 with conversation_id, message_ts, and reactions. A reaction can include name, count, and users. The response includes at most 100 reactions and 1000 user IDs per reaction; do not interpret the user list as a complete receipt list.
Add or remove a reaction
name is 1–100 characters using letters, digits, _, +, :, or -. Use the reaction name, not an emoji image. DELETE has no body. Both return an operation object. Adding an already-present bot reaction or removing an absent one succeeds without inventing another reaction.
Read pins
200 with items and truncated. Items can include type, channel, created, created_by, and supported message or file metadata. At most 100 items are returned. truncated: true means additional items were omitted; this endpoint has no pagination cursor.
Pin or unpin a message
Join or leave a conversation
Set native processing status
status accepts active, processing, suspended, or closed. This requests Slack’s native agent-session status for a thread. It is not ordinary message text, a universal typing indicator, or a signal that executes or cancels runtime work.
The operation returns Slack’s accepted processing_status and agent_status when available. A granted scope alone does not establish that native agent-session features are available to the app and workspace. Inspect the operation result and capabilities; unsupported requests fail rather than silently posting a substitute message.

