Zernio
Zernio
API Reference

Messages

Conversations

List conversationsGETSearch conversationsGETCreate conversationPOSTGet conversationGETUpdate conversation statusPUTMark a conversation as readPOSTHand a conversation to or from Meta Business AgentPOST

Messages

List messagesGETSend messagePOSTEdit messagePATCHDelete messageDELETEUpload media filePOSTResolve message attachmentGET

Reactions & Typing

Add reactionPOSTRemove reactionDELETESend typing indicatorPOST
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Messages

Remove reaction

Remove a reaction from a message. Platform support:

  • Telegram: Send empty reaction array to clear
  • WhatsApp: Send empty emoji to remove
  • Instagram and Facebook Messenger: Sends Meta's unreact action; the emoji does not need to be repeated
  • Slack: Removes the reaction we previously sent on that message
  • 'iMessage: Retracts your existing tapback or emoji reaction on the message (400 when you have none)'
  • All others: Returns 400 (not supported)

DELETE
/v1/inbox/conversations/{conversationId}/messages/{messageId}/reactions

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

conversationId*string

The conversation ID

messageId*string

The platform message ID (as returned by GET /messages) or the Zernio message ID (as returned by the reaction webhook)

Query Parameters

accountId*string

Account ID

Response Body

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.messages.removeMessageReaction({  path: {    conversationId: 'conversation_abc123',    messageId: 'message_abc123',  },  query: {    accountId: 'account_abc123',  },});console.log(data);
{  "success": true,  "messageId": "string",  "platformMessageId": "string"}
Was this page helpful?

Add reaction

Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - Instagram and Facebook Messenger: Any standard emoji, subject to Meta's 24h messaging window - Slack: The emoji must have a Slack name (e.g. `:thumbsup:`); unnamed characters return 400 - 'iMessage: The six Apple tapbacks (❤️ 👍 👎 😂 ‼️ ❓) render natively; any other emoji is sent as a custom emoji tapback (iOS 18+ recipients)' - All others: Returns 400 (not supported)

Send typing indicator

Show a typing indicator in a conversation. Platform support: - Facebook Messenger: Shows "Page is typing..." for 20 seconds - Instagram: Shows "typing..." to the recipient (works for both Instagram Login and Facebook Login accounts). The recipient must be signed in to Instagram to see it. - Telegram: Shows "Bot is typing..." for 5 seconds - WhatsApp: Shows "typing..." for up to 25 seconds. Requires a recent inbound message in the conversation (Meta references the inbound message id) and also marks that message as read as a side-effect. - iMessage: Shows a typing bubble for ~15 seconds (1:1 conversations only; requires a recent two-way exchange) - All others: Returns 200 but no-op (platform doesn't support it) Typing indicators are best-effort. The endpoint always returns 200 even if the platform call fails; `success` reports whether a typing indicator was actually sent to the platform (`false` on unsupported platforms or when the platform call failed).