Skip to main content
Version: 1.0

Conversations API

Overview

Welcome to the Conversations API, your gateway to seamless customer engagement across multiple channels!

With this powerful API, you can connect with your customers through popular platforms like WhatsApp, Telegram, Apple Messages for Business,Viber Business Messages.

By simplifying communication across various channels, the Conversations API empowers you to provide exceptional customer experiences.

Postman

To explore our API endpoints interactively and make requests easily, you can access our Postman public collection.

Authentication

To access the features of the Conversations API, you need to authenticate your requests using an API token.

Follow these steps to get started:

  1. Generate a unique API token through our intuitive client portal.
  2. Include the generated token in the Authorization header of every API request you make.

Here's how to structure the header:

HeaderDescriptionExample
AuthorizationYour API tokenBearer <API_TOKEN>

Responses and Errors

Conversations API uses standard HTTP status code to indicate the outcome of a request. Below is a non-exhaustive list of the common status codes for your reference.

Status codeDescription
200successful request
400bad request
401Unauthorized access
404Resource not found
5xxsomething went wrong on our end

When requests are erroneous, the API will respond with a JSON body in the following format:

{
"id": <id>,
"receivedTime": <receivedTime>,
"code": <errorCode>,
"message": "<errorMessage>"
}

Responses error codes are detailed below.

Http Status CodeCodeMessageResolution
4004000Validation errorCheck request body structure and ensure all required fields are present
4014001API Token is not validVerify your API token and regenerate if needed
4004002The user has unsubscribedRemove contact from campaign or wait for user to re-subscribe
4004003Your balance is not sufficient for this transactionAdd credits to your account balance
4004004Missing parametersAdd missing required fields (type, to, content, channel)
4004005Parameters are invalidCheck parameter formats, lengths, and channel compatibility (see Supported Features section)
4004006Not allowed to send free-form messagesUse approved templates (required for WhatsApp initial contact) or check channel restrictions
4004007Channel is not activatedActivate the channel in your account settings
4004010Tag not foundVerify the tag ID exists in your account
4004011Tag already existsUse a different tag name or update the existing tag
4004020Contact not foundVerify the contact ID exists in your account
4004021failover timeoutSeconds param illegalEnsure timeoutSeconds value is within valid range
4004022failover channel max sizeReduce the number of failover channels in the chain
4004023failover channel duplicateRemove duplicate channels from failover configuration
4004024Template not foundVerify the template ID and check approval status in your account
4004025Template validate error:Check template parameters and format against template definition
4004026WhatsApp Cloud API template errorThe Meta (WhatsApp) Cloud API rejected the request. The message field contains the user-facing reason from Meta (e.g. duplicate template name, invalid component).
4004051Sender is unavailableVerify WhatsApp sender is properly configured and available
5294052Too Many RequestsThe channel has been throttled, please try again later
4004053Unsupported OperationViber templates do not support modifications
4004054Unsupported OperationTemplate management for this channel is not currently supported
4004055Unsupported OperationViber template mismatch
4004060Invalid channel user IDProvide a valid WhatsApp Business-Scoped User ID (BSUID) in CC.alphanumeric format, e.g. US.DDC91135R
4044065Media not foundVerify the media ID exists and was uploaded by your account
4004066File too largeEnsure the file does not exceed the 200 MB limit
4004067Unsupported file typeUse a supported MIME type (see Media and WhatsApp Media endpoint descriptions)
4004068Media download failedVerify the URL is publicly accessible and returns a valid response
5004069Upstream provider unavailableRetry the request; if the issue persists contact support

Error Handling Best Practices:

  • Always check the code field in the response to identify the specific error
  • Log error messages for debugging and monitoring
  • Handle validation errors (4000-4007, 4010-4011, 4020-4025, 4051, 4060, 4065-4068) by correcting the request parameters before retrying
  • Monitor account balance to avoid 4003 errors
  • Refer to the Supported Features section for channel-specific constraints to prevent 4005 errors
  • Verify failover configuration parameters to avoid 4021-4023 errors

Supported features

The following table list the features supported for each available channel.

AppleMB

FeatureContent TypeComments
TextTEXTMax 4,096 characters
Attachment (Image, Video, Document)MEDIAMax 100MB Image, Max 100MB Video, Max 100MB Document
LocationLOCATIONGeographic location sharing
QuickReplyQUICK_REPLYMax 5 choices
RichLinkRICH_LINKRich cards with image, title, description, and link
ListPickerLIST_PICKERMulti-item selection lists
TimePickerTIME_PICKERDate and time selection interface
ApplePayAPPLEMB_PAYApple Pay integration for payments
AuthenticationAPPLEMB_AUTHOAuth authentication flows
FormAPPLEMB_FORMInteractive form elements
Update MessageAPPLEMB_UPDATE_MESSAGEBusiness Updates message to mobile number
TypingIndicatorTYPING_START / TYPING_ENDShow (TYPING_START) or dismiss (TYPING_END) the typing indicator. No content body is required.
Subscribe/Unsubscribe-Subscription management
iMessageApps-iMessage app integrations

Viber

FeatureContent TypeComments
TextTEXTMax 1,000 UTF-8 characters
ImageMEDIAMax 200MB - Expected formats: .jpg, .png
VideoMEDIAMax 200MB
DocumentMEDIAMax 200MB (.doc, .docx, .rtf, .dot, .dotx, .odt, .odf, .txt, .info, .pdf, .xps, .pdax, .eps, .xls, .xlsx, .ods, .fods, .csv, .xlsm, .xltx)
Action ButtonBUTTONMax 6 buttons - Allows businesses to include a single clickable button in a message that can trigger a URL. See content.button/ViberButton schema for full details.
List Message (QuickReply)QUICK_REPLYList messages provide the opportunity to present users with a question and 2-10 answers from which they can select one. When sent inside an active 24-hour session window, in-session list messages bill at the Viber session rate (type code 802); otherwise they bill as transactional (type code 801). The UI style can be controlled via viber.listMessageUiType (1 = classic radio buttons, default; 2 = horizontal buttons, requires Viber client 27.8.2+). See content.quickReply/ViberListMessage schema for full details.
Carousel MessageCAROUSELHorizontal scrollable cards (multiple cards) - Carousel message type enables businesses to send a single message featuring text and multiple customizable sections (items), each showcasing different products or services along with dedicated media and a call-to-action.
TemplateTEMPLATERussia/Ukraine templates, Transactional/Promotional templates, Viber templates
OTP Verification Message-OTP Verification messages enable brands to authenticate customers by sending them a one-time password (OTP). Contact our support team to have the list of supported languages and templates ID.

WhatsApp

FeatureContent TypeComments
TextTEXTMax 1,024 UTF-8 characters
ImageMEDIAMax 5MB (.jpg, .png)
VideoMEDIAMax 16MB (.3gp, .mp4)
AudioMEDIAMax 16MB (.aac, .amr, .m4a, .mp3, .ogg)
DocumentMEDIAMax 100MB (.txt, .xls, .xlsx, .doc, .docx, .ppt, .pptx, .pdf)
LocationLOCATIONGeographic location sharing
Interactive Reply buttonsQUICK_REPLYQuick reply buttons for user responses
Interactive CTA URL buttonBUTTONMax 3 buttons with call-to-action URLs
TemplateTEMPLATEPre-approved message templates (Marketing, Utility, Authentication, Service) - Required for initial contact
Interactive List-Interactive list picker
Sticker-Sticker support
Reaction-Message reactions

RCS/RBM

FeatureContent TypeComments
TextTEXTMax 3,072 characters
Media (Images, Videos, Documents, Audio)MEDIAMax 100MB (.ogx, .pdf, .aac, .mp3, .mpeg, .mp4, .3gp, .jpg, .gif, .png, .h263, .m4v, .m4p, .webm)
LocationLOCATIONGeographic location sharing
Suggested repliesQUICK_REPLYQuick reply suggestions for user responses
Suggested actions (Buttons)BUTTONMax 4 buttons - Dial Number, Text, Location, Web URL
Rich cardCARDRich card with single image, title, description, and buttons
Rich card carouselCAROUSELHorizontal scrollable cards (multiple cards)
Subscribe/Unsubscribe-Subscription management

Telegram

FeatureContent TypeComments
TextTEXTMax 4,096 characters
PhotoMEDIAMax 10MB
VideoMEDIAMax 50MB
AudioMEDIAMax 50MB (.mp3, .m4a)
DocumentMEDIAMax 50MB
QuickReply/KeyboardRowQUICK_REPLYQuick reply buttons for user responses
ButtonsBUTTONAction buttons with URLs or postback data

LINE

FeatureContent TypeComments
TextTEXTMax 5,000 characters
ImageMEDIAMax 10MB (.jpg, .jpeg, .png)
VideoMEDIAMax 200MB (.mp4)
AudioMEDIAMax 200MB (.m4a)
DocumentMEDIAMax 200MB
QuickReplyQUICK_REPLYMax 13 quick reply buttons for user responses
Subscribe/Unsubscribe-Follow/Unfollow events from the LINE Official Account

Notes:

  • Each channel table above includes a Content Type column showing the API content type value to use in message requests
  • Features marked with "-" in the Content Type column are channel-specific capabilities that don't map directly to the content type API parameter

Authentication

Bearer HTTP authentication. Headers-- Authorization: Bearer <TOKEN>

Security Scheme Type:

http

HTTP Authorization Scheme:

bearer

Bearer format:

auth-scheme