VX Agents

API directory · Messaging & SMS

Infobip RCS Business Messaging

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

Can this phone get RCS? Check it, then send branded RCS text, file or rich card messages through Infobip with suggested replies and SMS failover, show typing or read events, and follow each message through delivery reports, logs and your sender's launch status.

Connect this API to an AI agent Browse all specs

What you can do with Infobip RCS 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 /rcs/2/capability-check/query checkRcsCapability Check which phone numbers can receive RCS messages
POST /rcs/2/messages sendRcsMessages Send RCS text, card, carousel or file messages (with suggestions, SMS failover)
POST /rcs/1/events sendRcsEvents Send a typing indicator or read receipt in an RCS conversation
GET /rcs/2/reports getRcsDeliveryReports Get delivery reports for sent RCS messages
GET /rcs/2/logs getRcsMessageLogs Search logs of sent RCS messages by sender, number, status or date
GET /rcs/1/senders listRcsSenders List the RCS senders (agents) on your account
GET /rcs/1/senders/{senderName} getRcsSender Get one RCS sender's brand details
GET /rcs/1/senders/{senderName}/launch-status getRcsSenderLaunchStatus Check whether an RCS sender is launched on each carrier
GET /rcs/1/senders/{sender}/templates listRcsTemplates List RCS templates of a sender
GET /rcs/1/senders/{sender}/templates/{templateName} getRcsTemplate Get one RCS template and its content
GET /rcs/1/senders/{sender}/templates/{templateName}/status getRcsTemplateStatus Get the approval status of an RCS template

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; trial messages can only go to your own verified number).
  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. Sending needs an RCS sender (agent) registered and launched on your account (Channels and Numbers > RCS); until launch, messages only reach the sender's test numbers.

Permissions used

API scope Operations
rcs:message:send (or message:send) sendRcsMessages, sendRcsEvents, getRcsDeliveryReports
rcs:logs:read getRcsMessageLogs
rcs:manage checkRcsCapability, listRcsSenders, getRcsSender, getRcsSenderLaunchStatus, listRcsTemplates, getRcsTemplate, getRcsTemplateStatus (and every send/log operation)
rcs:provision (alternative to rcs:manage for sender and template reads) getRcsSender, getRcsSenderLaunchStatus, listRcsTemplates, getRcsTemplate, getRcsTemplateStatus

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 one of the scopes above, or the sender is not registered to your account.
  • 400 Bad Request: unknown sender, a number not in international format (e.g. 441134960001), more than 5 numbers in a capability check, or content that does not match its type.
  • 429 Too Many Requests: rate limit hit (logs allow 120 requests a minute, sender and template reads 10 a second); wait and retry.

Store the value App <api-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 App <api-key> (see the authentication notes for scopes).
  • Set the server variable baseUrl to your personal Infobip prefix (xyz123 for https://xyz123.api.infobip.com).
  • Worth pinning: your RCS sender name (used as sender in messages and capability checks, and as the path value for sender and template calls). listRcsSenders shows the names.

Send an RCS message and follow it up

  1. Before a campaign, call getRcsSenderLaunchStatus for your sender: until it is launched on a carrier, only its test numbers receive messages.
  2. Call checkRcsCapability with sender and up to 5 phoneNumbers (international, no +). Numbers that cannot get RCS should go out by SMS instead.
  3. Draft the message: messages[].sender, destinations[].to and content with a type: TEXT (text), FILE (file.url, optional thumbnail) or CARD (content with title, description, media, plus orientation/alignment). Add up to the allowed suggestions (REPLY, OPEN_URL, DIAL_PHONE) and options.smsFailover.text so the message still lands by SMS if RCS fails.
  4. Show the user the recipients and content and get a yes, then call sendRcsMessages. Keep the returned bulkId and messageIds.
  5. Check the outcome with getRcsDeliveryReports (by bulkId or messageId) or getRcsMessageLogs (filter by sender, destination, generalStatus, sentSince/sentUntil).
  6. In a live conversation, sendRcsEvents with content type TYPING_INDICATOR, or SEEN plus the inbound messageId, shows the customer you are on it.
  7. For templates, listRcsTemplates and getRcsTemplate show the content; getRcsTemplateStatus tells you whether it is approved.

Good to know

  • Every send costs money and reaches a real person: always confirm recipients and content first.
  • Delivery reports are returned only once each: a second call with the same filter returns nothing new. Use the logs for history (48 hours; use useCursor=true and cursor to page).
  • Times are ISO 8601 with offset, e.g. 2026-10-25T09:00:00.000+0000.
  • Carousels, location/calendar suggestions and MMS failover are not in this spec (left out for size).

Source: Infobip RCS API reference (https://www.infobip.com/docs/api/channels/rcs), checked 2026-10-25.

How to use this spec

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

Related APIs