Infobip · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Infobip OpenAPI Specification Channels API
456 actions
456 updates
phrasing
extends
openapi/infobip-channels-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Infobip's API. It is a proposal applied on top of the contract, not a document Infobip publishes.
What the actions change
x-apievangelist-phrasing
Targets 456 · first 16 shown; the file carries all of them
$.info
$.paths['/sms/3/messages'].post
$.paths['/sms/3/text/query'].get
$.paths['/sms/1/text/query'].get
$.paths['/sms/1/preview'].post
$.paths['/sms/2/text/advanced'].post
$.paths['/sms/2/binary/advanced'].post
$.paths['/sms/1/bulks'].get
$.paths['/sms/1/bulks'].put
$.paths['/sms/1/bulks/status'].get
$.paths['/sms/1/bulks/status'].put
$.paths['/ct/1/log/end/{messageId}'].post
$.paths['/sms/1/inbox/reports'].get
$.paths['/sms/3/reports'].get
$.paths['/sms/3/logs'].get
$.paths['/sms/1/reports'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Infobip OpenAPI Specification Channels API
version: 1.0.0
extends: openapi/infobip-channels-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 455
- target: $.paths['/sms/3/messages'].post
update:
x-apievangelist-phrasing:
intent: Send SMS messages
effect: write
questions:
- What's the current way to send an SMS to one person or thousands of recipients with Infobip?
- Can one SMS request include scheduling, transliteration and conversion tracking together?
- Is there a single SMS endpoint that replaces both the older text and binary sending methods?
instructions:
- text: 'Send these SMS messages with the latest v3 endpoint: {messages}.'
slots:
messages: requestBody.messages
- text: Send SMS {messages} and apply the delivery options {options}.
slots:
messages: requestBody.messages
options: requestBody.options
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/3/text/query'].get
update:
x-apievangelist-phrasing:
intent: Send an SMS using only query string parameters
effect: write
questions:
- Can I send a text message with a single GET request where everything is in the URL?
- Which query-string SMS method should I use now that there is a newer v3 version?
- Is it possible to schedule an SMS sent through URL query parameters?
instructions:
- text: Send the text {text} to {to} using the v3 query-string SMS endpoint.
slots:
text: query.text
to: query.to
- text: Fire off an SMS to {to} from sender {from} saying {text} via a URL GET request.
slots:
to: query.to
from: query.from
text: query.text
- text: Schedule a query-parameter SMS to {to} reading {text} for {sendAt}.
slots:
to: query.to
text: query.text
sendAt: query.sendAt
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/text/query'].get
update:
x-apievangelist-phrasing:
intent: Send an SMS by URL with username and password
effect: write
questions:
- Can I send an SMS by passing my username and password in the query string?
- Does the old v1 query-string SMS method still work with basic credentials in the URL?
- What happens to special characters in credentials when sending an SMS through a GET link?
instructions:
- text: Send {text} to {to} over the legacy v1 query endpoint logging in as {username} with {password}.
slots:
text: query.text
to: query.to
username: query.username
password: query.password
- text: Use my credentials {username} and {password} in the URL to text {to}.
slots:
username: query.username
password: query.password
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/preview'].post
update:
x-apievangelist-phrasing:
intent: Preview how an SMS text will be split and encoded
effect: read
questions:
- How many SMS parts will my message text be split into before I send it?
- Can I check how transliteration changes my SMS character count?
- What will my text look like with a national language table applied?
instructions:
- text: Preview the SMS text {text} and tell me how many parts it uses.
slots:
text: requestBody.text
- text: Check how {text} looks with transliteration {transliteration} before sending.
slots:
text: requestBody.text
transliteration: requestBody.transliteration
- text: Preview {text} using language code {languageCode}.
slots:
text: requestBody.text
languageCode: requestBody.languageCode
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/2/text/advanced'].post
update:
x-apievangelist-phrasing:
intent: Send advanced SMS messages (v2)
effect: write
questions:
- Can the older v2 advanced SMS endpoint throttle sending speed for a big batch?
- Where can I shorten and track URLs in SMS sent through the v2 text endpoint?
- Which SMS method counts how many message parts were used in the response on v2?
instructions:
- text: Send SMS {messages} through the v2 text/advanced endpoint.
slots:
messages: requestBody.messages
- text: Send SMS batch {messages} under bulk ID {bulkId} with speed limit {sendingSpeedLimit} using the v2 advanced method.
slots:
messages: requestBody.messages
bulkId: requestBody.bulkId
sendingSpeedLimit: requestBody.sendingSpeedLimit
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/2/binary/advanced'].post
update:
x-apievangelist-phrasing:
intent: Send binary SMS messages
effect: write
questions:
- How can I send a binary-encoded SMS payload instead of plain text?
- Is the binary SMS endpoint still supported or has it been superseded?
instructions:
- text: Send binary SMS {messages}.
slots:
messages: requestBody.messages
- text: Send binary SMS {messages} under bulk ID {bulkId}.
slots:
messages: requestBody.messages
bulkId: requestBody.bulkId
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/bulks'].get
update:
x-apievangelist-phrasing:
intent: View the send time of a scheduled SMS bulk
effect: read
questions:
- When is my scheduled SMS bulk set to go out?
- Where can I see the scheduled date and time for a batch of SMS messages?
instructions:
- text: Show the scheduled send time for SMS bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: Tell me when SMS batch {bulkId} is scheduled to be sent.
slots:
bulkId: query.bulkId
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/bulks'].put
update:
x-apievangelist-phrasing:
intent: Reschedule a scheduled SMS bulk
effect: write
questions:
- Can I move a scheduled SMS campaign to a different date and time?
- How do I push back the send time of SMS messages I already scheduled?
instructions:
- text: Reschedule SMS bulk {bulkId} to send at {sendAt}.
slots:
bulkId: query.bulkId
sendAt: requestBody.sendAt
- text: Move the scheduled SMS batch {bulkId} to {sendAt}.
slots:
bulkId: query.bulkId
sendAt: requestBody.sendAt
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/bulks/status'].get
update:
x-apievangelist-phrasing:
intent: Check the status of a scheduled SMS bulk
effect: read
questions:
- Is my scheduled SMS bulk paused, pending or already processing?
- What status is a batch of scheduled text messages in right now?
instructions:
- text: Check the status of scheduled SMS bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: Tell me whether SMS batch {bulkId} is paused or still pending.
slots:
bulkId: query.bulkId
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/bulks/status'].put
update:
x-apievangelist-phrasing:
intent: Pause, resume or cancel a scheduled SMS bulk
effect: write
questions:
- Can I pause a scheduled SMS bulk and resume it later?
- How do I cancel scheduled SMS messages before they go out?
instructions:
- text: Set scheduled SMS bulk {bulkId} to status {status}.
slots:
bulkId: query.bulkId
status: requestBody.status
- text: Cancel the scheduled SMS batch {bulkId} by changing its status to {status}.
slots:
bulkId: query.bulkId
status: requestBody.status
method: generated
generated: '2026-09-26'
- target: $.paths['/ct/1/log/end/{messageId}'].post
update:
x-apievangelist-phrasing:
intent: Confirm an SMS conversion
effect: write
questions:
- How do I tell Infobip that a customer converted after receiving my SMS?
- Can I report a successful conversion for a tracked text message?
instructions:
- text: Mark message {messageId} as converted.
slots:
messageId: path.messageId
- text: Log a successful conversion for SMS {messageId}.
slots:
messageId: path.messageId
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/inbox/reports'].get
update:
x-apievangelist-phrasing:
intent: Fetch received inbound SMS messages
effect: read
questions:
- Can I pull incoming text messages if I can't receive them on a webhook in real time?
- Where do I fetch SMS replies that customers sent to my number?
- Is there a limit on how many inbound SMS I can fetch per request?
instructions:
- text: Fetch up to {limit} inbound SMS messages I haven't retrieved yet.
slots:
limit: query.limit
- text: Get received SMS for application {applicationId}.
slots:
applicationId: query.applicationId
- text: Pull the incoming text messages waiting for me.
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/3/reports'].get
update:
x-apievangelist-phrasing:
intent: Fetch SMS delivery reports (v3)
effect: read
questions:
- Were my SMS messages delivered, if my webhook for delivery reports isn't working?
- Can I fetch v3 delivery reports for a specific SMS bulk?
- Which endpoint gives delivery reports for SMS sent with the newest v3 method?
instructions:
- text: Get v3 delivery reports for SMS bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: Check whether SMS message {messageId} was delivered using the v3 reports endpoint.
slots:
messageId: query.messageId
- text: Fetch the next {limit} SMS delivery reports from v3.
slots:
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/3/logs'].get
update:
x-apievangelist-phrasing:
intent: Search outbound SMS logs (v3)
effect: read
questions:
- Can I search sent SMS logs from the last 48 hours by destination number?
- Does the v3 SMS log endpoint support cursor pagination?
- What's the max number of SMS logs I can get back in one v3 call?
instructions:
- text: Show v3 SMS logs sent to {destination} since {sentSince}.
slots:
destination: query.destination
sentSince: query.sentSince
- text: List v3 outbound SMS logs from sender {sender} with status {generalStatus}.
slots:
sender: query.sender
generalStatus: query.generalStatus
- text: Get the v3 SMS log entries for bulk {bulkId}.
slots:
bulkId: query.bulkId
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/reports'].get
update:
x-apievangelist-phrasing:
intent: Fetch SMS delivery reports (legacy v1)
effect: read
questions:
- Where do I get delivery reports for SMS sent via the older v1 or v2 methods?
- Can the legacy SMS reports endpoint filter by campaign reference?
instructions:
- text: Get legacy v1 delivery reports for SMS bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: Check through the older reports endpoint if SMS {messageId} was delivered.
slots:
messageId: query.messageId
method: generated
generated: '2026-09-26'
- target: $.paths['/sms/1/logs'].get
update:
x-apievangelist-phrasing:
intent: Search outbound SMS logs (legacy v1)
effect: read
questions:
- Can the older v1 SMS log endpoint filter by recipient number and time window?
- Which legacy endpoint shows sent SMS logs for display in my own UI?
instructions:
- text: Show legacy v1 SMS logs sent to {to} until {sentUntil}.
slots:
to: query.to
sentUntil: query.sentUntil
- text: List old-style SMS logs from sender {from} for message {messageId}.
slots:
from: query.from
messageId: query.messageId
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/2/messages'].post
update:
x-apievangelist-phrasing:
intent: Send MMS messages
effect: write
questions:
- How do I send a picture message to several recipients at once?
- What's the current MMS sending endpoint that supports delivery options?
instructions:
- text: Send MMS messages {messages} with the v2 endpoint.
slots:
messages: requestBody.messages
- text: Send MMS {messages} using options {options}.
slots:
messages: requestBody.messages
options: requestBody.options
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/1/advanced'].post
update:
x-apievangelist-phrasing:
intent: Send MMS messages (legacy v1)
effect: write
questions:
- Does the older v1 advanced MMS endpoint still support bulk sending?
- Can I group a legacy MMS send under my own bulk ID?
instructions:
- text: Send MMS {messages} via the legacy v1 advanced endpoint.
slots:
messages: requestBody.messages
- text: Send legacy MMS batch {messages} under bulk ID {bulkId}.
slots:
messages: requestBody.messages
bulkId: requestBody.bulkId
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/1/content'].post
update:
x-apievangelist-phrasing:
intent: Upload media content for MMS
effect: write
questions:
- Can I upload an image once and reference it in several MMS messages?
- How long does uploaded MMS media stay available?
instructions:
- text: Upload MMS media with content ID {contentId} and media type {mediaType}.
slots:
contentId: header.X-Content-Id
mediaType: header.X-Media-Type
- text: Upload this file for MMS as {contentId} of type {mediaType}, valid for {validity} minutes.
slots:
contentId: header.X-Content-Id
mediaType: header.X-Media-Type
validity: header.X-Validity-Period-Minutes
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/1/inbox/reports'].get
update:
x-apievangelist-phrasing:
intent: Fetch received inbound MMS messages
effect: read
questions:
- Where can I pull picture messages customers sent me if I missed the webhook?
- Can I fetch incoming MMS for one application only?
instructions:
- text: Fetch up to {limit} inbound MMS messages.
slots:
limit: query.limit
- text: Get received MMS for entity {entityId}.
slots:
entityId: query.entityId
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/2/reports'].get
update:
x-apievangelist-phrasing:
intent: Fetch MMS delivery reports
effect: read
questions:
- Did my MMS messages get delivered?
- Can I pull delivery reports for MMS by campaign reference?
instructions:
- text: Get v2 MMS delivery reports for bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: Check whether MMS {messageId} was delivered.
slots:
messageId: query.messageId
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/1/reports'].get
update:
x-apievangelist-phrasing:
intent: Fetch MMS delivery reports (deprecated v1)
effect: read
questions:
- Is the old v1 MMS delivery report endpoint deprecated?
- Where do I get reports for MMS sent through the legacy v1 method?
instructions:
- text: Get deprecated v1 MMS delivery reports for bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: Look up legacy MMS report for message {messageId} on the v1 endpoint.
slots:
messageId: query.messageId
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/2/logs'].get
update:
x-apievangelist-phrasing:
intent: Search outbound MMS logs
effect: read
questions:
- Can I see logs of MMS messages I sent in the last 48 hours?
- Does MMS log search support filtering by destination and cursor paging?
instructions:
- text: Show MMS logs sent to {destination}.
slots:
destination: query.destination
- text: List MMS logs from sender {sender} sent since {sentSince}.
slots:
sender: query.sender
sentSince: query.sentSince
method: generated
generated: '2026-09-26'
- target: $.paths['/mms/1/logs'].get
update:
x-apievangelist-phrasing:
intent: Search outbound MMS logs (deprecated v1)
effect: read
questions:
- Is there a legacy v1 endpoint for MMS logs filtered by recipient?
- Which MMS log endpoint is deprecated in favor of the v2 version?
instructions:
- text: Show deprecated v1 MMS logs for recipient {to}.
slots:
to: query.to
- text: List old v1 MMS logs from {from} with status {generalStatus}.
slots:
from: query.from
generalStatus: query.generalStatus
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/configurations'].get
update:
x-apievangelist-phrasing:
intent: List calls configurations
effect: read
questions:
- Which calls configurations do I have set up for voice?
- Can I page through all my Calls API configurations?
instructions:
- text: List my calls configurations.
- text: Show page {page} of calls configurations, {size} per page.
slots:
page: query.page
size: query.size
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/configurations'].post
update:
x-apievangelist-phrasing:
intent: Create a calls configuration
effect: write
questions:
- How do I set up a new calls configuration for my voice app?
- Can I choose my own ID when creating a calls configuration?
instructions:
- text: Create a calls configuration named {name}.
slots:
name: requestBody.name
- text: Create a calls configuration with ID {id} and name {name}.
slots:
id: requestBody.id
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/configurations/{callsConfigurationId}'].get
update:
x-apievangelist-phrasing:
intent: Get a calls configuration
effect: read
questions:
- What are the details of one specific calls configuration?
- Can I look up a calls configuration by its ID?
instructions:
- text: Show calls configuration {callsConfigurationId}.
slots:
callsConfigurationId: path.callsConfigurationId
- text: Get the details of calls configuration {callsConfigurationId}.
slots:
callsConfigurationId: path.callsConfigurationId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/configurations/{callsConfigurationId}'].put
update:
x-apievangelist-phrasing:
intent: Rename a calls configuration
effect: write
questions:
- Can I change the name of an existing calls configuration?
- What can be edited on a calls configuration after it's created?
instructions:
- text: Rename calls configuration {callsConfigurationId} to {name}.
slots:
callsConfigurationId: path.callsConfigurationId
name: requestBody.name
- text: Update calls configuration {callsConfigurationId}.
slots:
callsConfigurationId: path.callsConfigurationId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/configurations/{callsConfigurationId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a calls configuration
effect: destructive
questions:
- How do I remove a calls configuration I no longer use?
- Can a calls configuration be deleted permanently?
instructions:
- text: Delete calls configuration {callsConfigurationId}.
slots:
callsConfigurationId: path.callsConfigurationId
- text: Remove the calls configuration {callsConfigurationId}.
slots:
callsConfigurationId: path.callsConfigurationId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls'].get
update:
x-apievangelist-phrasing:
intent: List active calls
effect: read
questions:
- Which voice calls are currently live on my account?
- Can I filter current calls by direction or status?
- What calls are in progress in a given conference right now?
instructions:
- text: List active calls with status {status}.
slots:
status: query.status
- text: Show live calls in conference {conferenceId}.
slots:
conferenceId: query.conferenceId
- text: List current {direction} calls for configuration {callsConfigurationId}.
slots:
direction: query.direction
callsConfigurationId: query.callsConfigurationId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls'].post
update:
x-apievangelist-phrasing:
intent: Place an outbound call
effect: write
questions:
- How do I start an outbound voice call to a phone number?
- Can I turn on recording and machine detection when placing a call?
- Is there a maximum call duration I can set for an outbound call?
instructions:
- text: Call {endpoint} using calls configuration {callsConfigurationId}.
slots:
endpoint: requestBody.endpoint
callsConfigurationId: requestBody.callsConfigurationId
- text: Place a call to {endpoint} from {from} under configuration {callsConfigurationId} with recording {recording}.
slots:
endpoint: requestBody.endpoint
from: requestBody.from
callsConfigurationId: requestBody.callsConfigurationId
recording: requestBody.recording
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}'].get
update:
x-apievangelist-phrasing:
intent: Get an active call
effect: read
questions:
- What's the current state of a specific live call?
- Can I look up an ongoing call by its call ID?
instructions:
- text: Show call {callId}.
slots:
callId: path.callId
- text: Get the current status of live call {callId}.
slots:
callId: path.callId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/history'].get
update:
x-apievangelist-phrasing:
intent: List finished calls from history
effect: read
questions:
- Can I see calls that already ended in the last few days?
- How long is ended call history retained?
- Can I filter past calls by who they were from?
instructions:
- text: List historical calls from {from}.
slots:
from: query.from
- text: Show call history for bulk {bulkId}.
slots:
bulkId: query.bulkId
- text: List the calls that ended in the past five days.
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/history'].get
update:
x-apievangelist-phrasing:
intent: Get a finished call's history
effect: read
questions:
- What happened on a call that already ended?
- Can I get the history record of a single completed call?
instructions:
- text: Show the history of ended call {callId}.
slots:
callId: path.callId
- text: Get the history record for completed call {callId}.
slots:
callId: path.callId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/connect'].post
update:
x-apievangelist-phrasing:
intent: Connect existing calls into a conference
effect: write
questions:
- Can I join two existing calls together in a conference?
- How do I bridge several ongoing calls into one conversation?
instructions:
- text: Connect calls {callIds} in a conference.
slots:
callIds: requestBody.callIds
- text: Bridge calls {callIds} using conference settings {conferenceRequest}.
slots:
callIds: requestBody.callIds
conferenceRequest: requestBody.conferenceRequest
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/connect'].post
update:
x-apievangelist-phrasing:
intent: Connect a call with a new outbound call
effect: write
questions:
- Can I dial someone new and connect them to a call already in progress?
- Is ringback played to the caller while a new leg is being connected?
instructions:
- text: Connect call {callId} with a new call {callRequest}.
slots:
callId: path.callId
callRequest: requestBody.callRequest
- text: Dial {callRequest} and join it to call {callId} with ringback {ringbackGeneration}.
slots:
callRequest: requestBody.callRequest
callId: path.callId
ringbackGeneration: requestBody.ringbackGeneration
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/send-ringing'].post
update:
x-apievangelist-phrasing:
intent: Send a ringing signal to an inbound call
effect: write
questions:
- How do I make an unanswered inbound caller hear ringing?
- Can I send a SIP ringtone before answering a call?
instructions:
- text: Send ringing to inbound call {callId}.
slots:
callId: path.callId
- text: Play the SIP ringtone to unanswered call {callId}.
slots:
callId: path.callId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/pre-answer'].post
update:
x-apievangelist-phrasing:
intent: Pre-answer a call for early media
effect: write
questions:
- Can I pre-answer an inbound call to play early media before answering?
- What does pre-answering a call do?
instructions:
- text: Pre-answer call {callId}.
slots:
callId: path.callId
- text: Pre-answer call {callId} with ringing set to {ringing}.
slots:
callId: path.callId
ringing: requestBody.ringing
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/answer'].post
update:
x-apievangelist-phrasing:
intent: Answer an inbound call
effect: write
questions:
- How do I answer an incoming voice call through the API?
- Can I start recording at the moment I answer a call?
instructions:
- text: Answer call {callId}.
slots:
callId: path.callId
- text: Answer call {callId} and record it with {recording}.
slots:
callId: path.callId
recording: requestBody.recording
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/hangup'].post
update:
x-apievangelist-phrasing:
intent: Hang up a call
effect: destructive
questions:
- How do I end a single call in progress?
- Can I hang up a call with a specific error code?
instructions:
- text: Hang up call {callId}.
slots:
callId: path.callId
- text: End call {callId} with error code {errorCode}.
slots:
callId: path.callId
errorCode: requestBody.errorCode
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/play'].post
update:
x-apievangelist-phrasing:
intent: Play audio on a call
effect: write
questions:
- Can I play an audio file to a caller during a call?
- Is it possible to loop a recording on a single call leg and stop it when they press a key?
instructions:
- text: Play audio {content} on call {callId}.
slots:
content: requestBody.content
callId: path.callId
- text: Play {content} on call {callId} {loopCount} times.
slots:
content: requestBody.content
callId: path.callId
loopCount: requestBody.loopCount
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/stop-play'].post
update:
x-apievangelist-phrasing:
intent: Stop audio playing on a call
effect: write
questions:
- How do I stop an audio file that is playing on a call?
- Can I interrupt playback on one call leg?
instructions:
- text: Stop playing audio on call {callId}.
slots:
callId: path.callId
- text: Cut the playback on call {callId}.
slots:
callId: path.callId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/say'].post
update:
x-apievangelist-phrasing:
intent: Speak text on a call with text-to-speech
effect: write
questions:
- Can I have text read aloud to a caller in a particular language?
- Can I control the speech rate of text spoken on a call?
instructions:
- text: Say {text} in {language} on call {callId}.
slots:
text: requestBody.text
language: requestBody.language
callId: path.callId
- text: Read {text} aloud in {language} on call {callId} at speech rate {speechRate}.
slots:
text: requestBody.text
language: requestBody.language
callId: path.callId
speechRate: requestBody.speechRate
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/send-dtmf'].post
update:
x-apievangelist-phrasing:
intent: Send DTMF tones on a call
effect: write
questions:
- How do I send keypad tones on a call, for example to navigate a phone menu?
- Can I press digits on behalf of the caller?
instructions:
- text: Send DTMF {dtmf} on call {callId}.
slots:
dtmf: requestBody.dtmf
callId: path.callId
- text: Press keys {dtmf} on call {callId}.
slots:
dtmf: requestBody.dtmf
callId: path.callId
method: generated
generated: '2026-09-26'
- target: $.paths['/calls/1/calls/{callId}/capture/dtmf'].post
update:
x-apievangelist-phrasing:
intent: Collect keypad input from a caller
effect: write
questions:
- Can I collect digits a caller types on their keypad?
- What's the way to set a terminator key and timeout when gathering DTMF input?
instructions:
- text: Capture up to {maxLength} digits on call {callId} with a {timeout} second timeout.
slots:
maxLength: requestBody.maxLength
callId: path.callId
timeout: requestBody.timeout
- text: Collect keypad input on call {callId}, max {maxLength} digits, timeout {timeout}, ending with {terminator}.
slots:
callId: path.callId
maxLength: requestBody.maxLength
timeout: requestBody.timeout
terminator: requestBody.terminator
method: generated
generated: '2026-09-26'
# --- truncated at 32 KB (310 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infobip/refs/heads/main/overlays/infobip-channels-api-phrasing-overlay.yaml