tumbuh.ai
tumbuh.ai Public API

Retry the AI reply

POST
https://<domain-anda>
/api/v1/public/messages/ai-retry/{conversationType}/{conversationId}

Re-queue the failed or waiting AI run so the AI answers the customer.

Re-queues the latest failed or waiting AI Workflow run on a conversation. When it succeeds the AI will write and SEND a reply to the customer and spend AI credits; a message that has gone out cannot be recalled. Call messages.aiRetryStatus first and proceed only when eligible is true. Refuses with 409 when the conversation is resolved, a human holds it, or a retry is already queued, and with 404 when no run can be retried.

Retry the AI reply › path Parameters

conversationType
​string · enum · required

Conversation type, upper-case: WHATSAPP, INSTAGRAM, MESSENGER, TELEGRAM, TIKTOK, TIKTOK_COMMENT, META_COMMENT or REPLIZ_COMMENT.

Conversation type, upper-case: WHATSAPP, INSTAGRAM, MESSENGER, TELEGRAM, TIKTOK, TIKTOK_COMMENT, META_COMMENT or REPLIZ_COMMENT.

Enum values:
WHATSAPP
INSTAGRAM
MESSENGER
TELEGRAM
REPLIZ_COMMENT
TIKTOK
TIKTOK_COMMENT
META_COMMENT
conversationId
​string · required

Conversation id from conversations.list.

Conversation id from conversations.list.

Retry the AI reply › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

Send a message

POST
https://<domain-anda>
/api/v1/public/messages/send

Send a WhatsApp, Instagram, Messenger, Telegram or TikTok message to one customer.

Delivers a message to a single customer on the channel you name, or on the channel the customer last used. Use it to reply to an inbound conversation, or to open one inside the 24-hour window; outside that window WhatsApp accepts only an approved template. The message goes out immediately and cannot be recalled. Meta's per-channel rate limits apply on top of the key limit.

Send a message › Request Body optional

customer_id
​string
phone_number
​string

Recipient, E.164 without the plus, e.g. 628123456789.

instagram_username
​string
telegram_conversation_id
​string
tiktok_conversation_id
​string
channel
​string · enum

Existing native channel; defaults to whatsapp for a phone recipient.

Enum values:
whatsapp
instagram
messenger
telegram
tiktok
message_type
​string

Existing message type; defaults to text.

content
​string
media_url
​string · uri
​object
filename
​string
caption
​string
​
whatsapp_phone_number_id
​string
instagram_account_id
​string
facebook_page_id
​string
telegram_bot_id
​string
customer_name
​string
auto_create_customer
​boolean
Default: true
message
​string

Plain text to send. Omit it when sending a template instead.

template_name
​string

Name of an APPROVED template from templates.list. Required outside the WhatsApp 24-hour window.

template_params
​string[]

Values for the template placeholders, in order.

Send a message › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

Mark a message as read

POST
https://<domain-anda>
/api/v1/public/messages/{messageId}/read

Clear the unread state on an inbound message and send the read receipt.

Marks one inbound message as read and, on channels that support it, sends the read receipt so the customer sees the blue ticks. Use it when an agent or automation has actually read the message. It changes state and the customer can see it, so do not use it to bulk-clear a backlog nobody read.

Mark a message as read › path Parameters

messageId
​string · required

Message id from conversations.messages.

Message id from conversations.messages.

Mark a message as read › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

Reply to a comment

POST
https://<domain-anda>
/api/v1/public/comments/{id}/reply

Post a public reply underneath a comment on the originating platform.

Publishes a reply under the comment on Facebook, Instagram or TikTok. Everyone who can see the post can see this reply, and it cannot be recalled from here — delete it on the platform. Read the thread with comments.get first. Costs messages:write because it is a send, not a note.

Reply to a comment › path Parameters

id
​string · required

Comment id from comments.list.

Comment id from comments.list.

Reply to a comment › Request Body

message
​string · required

Reply text. Posted publicly under the original comment.

Reply to a comment › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

React to a WhatsApp message

POST
https://<domain-anda>
/api/v1/public/messages/{messageId}/react

Send an emoji reaction to a customer's WhatsApp message, or remove it.

Sends an emoji reaction on one WhatsApp message in a conversation. The customer sees it on their phone, so it counts as a send. Pass an empty string as emoji to remove a reaction you sent earlier. Only WhatsApp messages that carry a WhatsApp message id can be reacted to; for Instagram use messages.reactInstagram and for Messenger messages.reactMessenger. Subject to the WhatsApp 24-hour window like any other send.

React to a WhatsApp message › path Parameters

messageId
​string · required

Message id from conversations.messages (the CRM id, not the platform id).

Message id from conversations.messages (the CRM id, not the platform id).

React to a WhatsApp message › Request Body

emoji
​string · required

A single emoji, at most 10 characters. An empty string removes the reaction.

React to a WhatsApp message › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

Love-react to an Instagram message

POST
https://<domain-anda>
/api/v1/public/instagram/messages/{messageId}/react

Send the heart reaction to a customer's Instagram DM.

Sends Instagram's "love" reaction to one customer message. Instagram offers only this one reaction through the API, so there is no emoji argument. The customer sees it, so it counts as a send, and it works only inside the 24-hour messaging window — otherwise it fails with messaging_window_closed. It cannot be removed through this API.

Love-react to an Instagram message › path Parameters

messageId
​string · required

Message id from conversations.messages (the CRM id, not the platform id).

Message id from conversations.messages (the CRM id, not the platform id).

Love-react to an Instagram message › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

React to a Messenger message

POST
https://<domain-anda>
/api/v1/public/messenger/messages/{messageId}/reaction

Send a Messenger reaction (love, haha, wow, sad, angry, like, dislike).

Sends one of the named Messenger reactions to a customer's message on a connected Facebook Page. The customer sees it, so it counts as a send. Replaces a reaction you sent before on the same message. Use messenger.removeReaction to take it back.

React to a Messenger message › path Parameters

messageId
​string · required

Message id from conversations.messages (the CRM id, not the platform id).

Message id from conversations.messages (the CRM id, not the platform id).

React to a Messenger message › Request Body

reaction
​string · enum · required

Reaction name: love, haha, wow, sad, angry, like or dislike.

Enum values:
love
haha
wow
sad
angry
like
dislike

React to a Messenger message › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

Remove a Messenger reaction

DELETE
https://<domain-anda>
/api/v1/public/messenger/messages/{messageId}/reaction

Take back the reaction this workspace put on a Messenger message.

Removes the reaction this Page previously sent on one Messenger message. The customer sees it disappear, so it is a send. Only the Page's own reaction is removed; the customer's reactions are untouched. Use messages.reactMessenger to add one.

Remove a Messenger reaction › path Parameters

messageId
​string · required

Message id from conversations.messages (the CRM id, not the platform id).

Message id from conversations.messages (the CRM id, not the platform id).

Remove a Messenger reaction › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required

Send a private DM to a TikTok commenter

POST
https://<domain-anda>
/api/v1/public/tiktok/comments/{commentId}/dm

Turn a TikTok comment into a direct message to the person who wrote it.

Opens (or reuses) the TikTok DM thread with the author of a native TikTok comment and sends them the text as a private message. The customer receives it immediately and it cannot be recalled from here. Use it for the comment-to-DM flow after answering publicly with comments.reply. Fails with 404 when the comment is unknown or the TikTok DM capability is not enabled for the workspace.

Send a private DM to a TikTok commenter › path Parameters

commentId
​string · required

TikTok comment id from comments.list (the ttc_ prefix is accepted).

TikTok comment id from comments.list (the ttc_ prefix is accepted).

Send a private DM to a TikTok commenter › Request Body

text
​string · required

The private message to send. Required, non-empty.

Send a private DM to a TikTok commenter › Responses

The API key is missing, malformed, expired, or its owner is inactive.

success
​required
​object · required