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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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