VX Agents

API directory · Messaging & SMS

Infobip WhatsApp Business Messaging

v1.0.0 · 10 endpoints · 0 connections · shared by vx.ai

Send, follow up and template WhatsApp messages through Infobip: open a conversation with an approved template, reply inside the 24-hour window with text, images, documents or quick-reply buttons, mark inbound messages as read, fetch the media customers send, and submit new templates for Meta approval.

Connect this API to an AI agent Browse all specs

What you can do with Infobip WhatsApp Business Messaging via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
POST /whatsapp/1/message/template sendTemplateMessage Send approved template messages to one or many customers
POST /whatsapp/1/message/text sendTextMessage Send a free-form text reply inside the 24-hour window
POST /whatsapp/1/message/image sendImageMessage Send an image by URL with an optional caption
POST /whatsapp/1/message/document sendDocumentMessage Send a document (PDF, invoice, menu) by URL
POST /whatsapp/1/message/interactive/buttons sendButtonsMessage Send a message with up to three quick-reply buttons
POST /whatsapp/1/senders/{sender}/message/{messageId}/read markMessageAsRead Mark a customer's message as read (blue ticks)
GET /whatsapp/1/senders/{sender}/media/{mediaId} downloadInboundMedia Download a photo, voice note or file a customer sent
GET /whatsapp/2/senders/{sender}/templates listTemplates List a sender's templates and their approval status
POST /whatsapp/2/senders/{sender}/templates createTemplate Submit a new template to Meta for approval
GET /whatsapp/2/senders/{sender}/templates/{id} getTemplate Get one template with its components and status

Authentication

infobipApiKey

API key — sent as the Authorization header

Infobip API key sent as Authorization: App <api-key> (the word App, a space, then the key).

How to get a credential

  1. Sign in to the Infobip portal (a free trial account works; it includes a shared WhatsApp test sender).
  2. Open Developer tools > API keys and click Create API key.
  3. Give it a name and select the scopes below, then copy the key.
  4. Copy your personal base URL from the same page (e.g. xyz123.api.infobip.com) and set it as the server baseUrl variable.
  5. In VX Agents, store the value as App <api-key>.

Permissions used

API scope Operations
whatsapp:message:send sendTemplateMessage, sendTextMessage, sendImageMessage, sendDocumentMessage, sendButtonsMessage
whatsapp:inbound-message:read downloadInboundMedia
whatsapp:manage markMessageAsRead, listTemplates, getTemplate, createTemplate (also covers every operation above)

The simplest setup is one key with whatsapp:manage.

Common errors

  • 401 Unauthorized: the header is not App <key>, the key was revoked, or the base URL belongs to another account.
  • 403 Forbidden: the key lacks the scope, or the sender is not registered to your account. Trial accounts can only message their own verified number.
  • 400 Bad Request: number not in international format (e.g. 441134960000, no + or 00), template name/language not approved, or a free-form message sent outside the 24-hour customer service window.
  • 429 Too Many Requests: rate limit hit; back off and retry.

Store the key as a VX Agents credential (API key header) and never paste it into chat.

Usage guide

Setup

  • Credential: an Infobip API key, stored as the full header value App <api-key> (scope whatsapp:manage covers everything here).
  • Base URL: set the server variable baseUrl to your personal prefix from the Infobip portal (e.g. xyz123 for https://xyz123.api.infobip.com). Pin it as a preset.
  • Preset worth pinning: sender, your registered WhatsApp Business number in international format (e.g. 441134960000). It is the from of every message.

Message a customer

  1. Outside the 24-hour customer service window you can only send a template. listTemplates for the sender and pick one whose status is APPROVED; getTemplate shows its body placeholders and buttons.
  2. Show the user the recipients, template and values, and get a yes. Business-initiated messages are billed and cannot be recalled.
  3. sendTemplateMessage with {"messages": [{"from": "<sender>", "to": "<number>", "content": {"templateName": "appointment_reminder", "language": "en", "templateData": {"body": {"type": "POSITIONAL_PARAMETERS", "placeholders": ["Anna", "10:00"]}}}}]}. Many recipients go in messages; keep bulkId and each messageId.
  4. After the customer writes back (inbound messages arrive on your webhook), reply freely within 24 hours: sendTextMessage (content.text), sendImageMessage / sendDocumentMessage (content.mediaUrl, public HTTPS), or sendButtonsMessage (content.body.text plus up to 3 action.buttons of type REPLY with id and title). Confirm the content first.
  5. markMessageAsRead with the inbound messageId to show blue ticks; downloadInboundMedia with the mediaId from the inbound webhook to fetch a customer's photo or file.

Create a template

Confirm wording with the user, then createTemplate with name (lowercase, underscores), language, category (MARKETING, UTILITY or AUTHENTICATION) and structure (body.text with {{1}} placeholders, optional header, footer, buttons). Meta reviews it; check status later with getTemplate.

Good to know

  • Numbers are international format without + or 00.
  • Delivery and seen reports, and inbound messages, are pushed to webhooks set in the Infobip portal; they are not polled here.
  • Marketing templates need the customer's opt-in.
  • Deleting templates, flows or media is not part of this spec.

Source: Infobip WhatsApp API reference (https://www.infobip.com/docs/api/channels/whatsapp), checked 2026-10-20.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Infobip WhatsApp Business Messaging” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs