VX Agents

API directory · Messaging & SMS

Infobip Voice Messages & Text-to-Speech

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

Send, schedule and track automated phone calls through Infobip: read a text-to-speech message or play an audio file to one number or thousands, pick a neural voice per language, capture keypad (DTMF) answers, retry unanswered calls, then check delivery reports and call logs or pause a scheduled bulk.

Connect this API to an AI agent Browse all specs

What you can do with Infobip Voice Messages & Text-to-Speech 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
GET /tts/3/voices/{language} listTtsVoices List the text-to-speech voices available for a language
POST /tts/3/single sendVoiceMessage Call one number and read a text or play an audio file
POST /tts/3/multi sendMultipleVoiceMessages Send different voice messages to different numbers in one request
POST /tts/3/advanced sendAdvancedVoiceMessage Send voice messages with scheduling, retries, keypad capture and delivery windows
GET /voice/1/reports getVoiceDeliveryReports Get delivery reports for sent voice messages (each report is returned once)
GET /tts/3/logs getVoiceMessageLogs Search logs of sent voice messages by number, bulk, status or date
GET /tts/3/bulks getScheduledVoiceBulk Get the scheduled send time of a voice message bulk
PUT /tts/3/bulks rescheduleVoiceBulk Change when a scheduled voice message bulk is sent
GET /tts/3/bulks/status getVoiceBulkStatus Check whether a scheduled voice bulk is pending, paused or finished
PUT /tts/3/bulks/status setVoiceBulkStatus Pause, resume or cancel a scheduled voice message bulk

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 calls 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. To show your own caller id, buy or verify a voice number under Channels and Numbers > Numbers.

Permissions used

API scope Operations
voice-message:message:send (or message:send) listTtsVoices, sendVoiceMessage, sendMultipleVoiceMessages, sendAdvancedVoiceMessage, getScheduledVoiceBulk, rescheduleVoiceBulk, getVoiceBulkStatus, setVoiceBulkStatus
voice-message:logs:read getVoiceMessageLogs
voice-reports:read (or voice:logs:read) getVoiceDeliveryReports
voice-message:manage every operation except getVoiceDeliveryReports

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.
  • 400 Bad Request: a number not in international format (e.g. 41793026727), a language code the voice does not support, both text and audioFileUrl set, or a bulkId that is unknown or no longer scheduled.
  • 429 Too Many Requests: rate limit hit (logs allow 120 requests a minute); 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>. Set the server baseUrl to your personal prefix (e.g. xyz123 for xyz123.api.infobip.com).
  • Worth pinning: your caller id from (a voice number on your account, E.164 without +) and your usual language code (e.g. en).

Send a voice message and follow it up

  1. Pick a voice: listTtsVoices with language (e.g. en, de) and includeNeural=true; use a returned name in voice.name.
  2. One number: sendVoiceMessage with from, to, and either text + language (text-to-speech, SSML allowed) or audioFileUrl (MP3 or WAV).
  3. Different messages to different people: sendMultipleVoiceMessages with messages[], each with its own to list and text or audioFileUrl.
  4. Advanced calls: sendAdvancedVoiceMessage supports sendAt (schedule), retry (minPeriod, maxPeriod, maxCount in minutes), maxDtmf/dtmfTimeout to capture keypad answers, machineDetection, deliveryTimeWindow (days + hours), callTransfers, and notifyUrl for reports. Set your own bulkId to manage the batch later.
  5. Results: getVoiceDeliveryReports (each report is returned only once; dtmfCodes and answeredBy are in voiceCall), or getVoiceMessageLogs filtered by to, bulkId, generalStatus (DELIVERED, UNDELIVERABLE, ...) and sentSince.
  6. Scheduled bulks: getScheduledVoiceBulk / rescheduleVoiceBulk (new sendAt), getVoiceBulkStatus / setVoiceBulkStatus with PAUSED, PROCESSING (resume) or CANCELED.

Every send places real phone calls that are billed per second: confirm the numbers, text and schedule with the user before calling any send, reschedule or status change.

Good to know

  • Numbers are E.164 digits without + (e.g. 41793026727). Send either text or audioFileUrl, not both.
  • sendAt and log dates are ISO 8601 with offset (e.g. 2026-11-01T16:00:00.000+0000).
  • Logs cover only the last 48 hours. Logs and delivery reports return 50 rows unless you set limit.
  • Audio files must be under 4 MB and reachable by a public URL (single send: mp3 or wav).
  • Trial accounts can only call the number verified at sign-up.

Source: Infobip Voice API reference (https://www.infobip.com/docs/api/channels/voice), 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 Voice Messages & Text-to-Speech” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs