openapi: 3.2.0
info:
title: Infobip OpenAPI Specification Channels API
description: OpenAPI Specification that contains all public endpoints and webhooks.
contact:
name: Infobip support
email: support@infobip.com
version: 3.210.0
x-generatedAt: '2026-07-23T15:23:37.825639538Z'
tags:
- name: channels
description: 'Create a perfect customer experience by using the channels your customer already use and love.
'
x-type: category
x-displayName: Channels
paths:
/sms/3/messages:
post:
tags:
- channels
summary: Send SMS message
description: 'With this API method, you can do anything from sending a basic message to one person, all the way to sending customized messages to thousands of recipients in one go. It comes with a range of useful features like transliteration, scheduling, and tracking in a unified way.\
If utilizing Message Delivery Reports webhook, please consult the documentation provided at [Receive outbound SMS message reports](#channels/sms/receive-outbound-sms-message-report-v3).\
This endpoint is the successor of [Send SMS message](#channels/sms/send-sms-message) and [Send binary SMS message](#channels/sms/send-binary-sms-message).'
externalDocs:
description: Learn more about the SMS channel and its use cases
url: https://www.infobip.com/docs/sms
operationId: send-sms-messages
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.SmsRequestEnvelope'
examples:
Send basic textual message:
summary: Send basic textual message
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
content:
text: This is a sample message
Send fully-featured textual message:
summary: Send fully-featured textual message
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
messageId: MESSAGE-ID-123-xyz
- to: '41793026834'
content:
text: Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.
transliteration: TURKISH
language:
languageCode: TR
options:
validityPeriod:
amount: 720
timeUnit: HOURS
campaignReferenceId: summersale
webhooks:
delivery:
url: https://www.example.com/sms/advanced
intermediateReport: true
contentType: application/json
callbackData: DLR callback data
- sender: '41793026700'
destinations:
- to: '41793026700'
content:
text: A long time ago, in a galaxy far, far away... It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire.
options:
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
options:
schedule:
bulkId: BULK-ID-123-xyz
sendAt: 2021-08-24T15:00:00.000+0000
tracking:
shortenUrl: true
trackClicks: true
trackingUrl: https://example.com/click-report
removeProtocol: true
customDomain: example.com
includeSmsCountInResponse: true
conversionTracking:
useConversionTracking: true
conversionTrackingName: MY_CAMPAIGN
Send flash textual message:
summary: Send flash textual message
description: Send a message that will pop-up on the user's phone
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
content:
text: Toto, I've got a feeling we're not in Kansas anymore.
options:
flash: true
SMS language:
summary: SMS language
description: Crossing SMS language barriers with the National Language Identifier for Turkish, Spanish and Portuguese
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
content:
text: Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.
language:
languageCode: TR
SMS transliteration:
summary: SMS transliteration
description: Send full-size messages in original language alphabet using transliteration conversion
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
content:
text: Ως Μεγαρικό ψήφισμα είνα…ι καθολικό εμπάργκο στα
transliteration: GREEK
Platform features:
summary: Platform features
description: Parts of the SMS message, such as message sender, will be customized in accordance with provided application and entity ids. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
value:
messages:
- destinations:
- to: '41793026727'
content:
text: Custom application and entity based rules will be applied to this message
options:
platform:
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
Send Basic India DLT message:
summary: Send Basic India DLT message
description: Send a message with India DLT parameters included
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
content:
text: India DLT parameters will be applied in this message
options:
regional:
indiaDlt:
contentTemplateId: '1111111111111111111'
principalEntityId: '1111111111111111112'
telemarketerId: '111111111111'
Send fully-featured binary SMS message:
summary: Send fully-featured binary SMS message
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
messageId: MESSAGE-ID-123-xyz
- to: '41793026834'
content:
dataCoding: 0
esmClass: 0
hex: 54 65 73 74 20 6d 65 73 73 61 67 65 2e
options:
validityPeriod:
amount: 720
timeUnit: HOURS
webhooks:
delivery:
url: https://www.example.com/sms/advanced
intermediateReport: true
contentType: application/json
callbackData: DLR callback data
- sender: '41793026700'
destinations:
- to: '41793026700'
content:
dataCoding: 0
esmClass: 0
hex: 41 20 6C 6F 6E 67 20 74 …20 45 6D 70 69 72 65 2E
options:
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
campaignReferenceId: summersale
options:
schedule:
bulkId: BULK-ID-123-xyz
sendAt: 2021-08-23T14:00:00.000+0000
Send Unicode flash binary SMS message:
summary: Send Unicode flash binary SMS message
value:
messages:
- sender: InfoSMS
destinations:
- to: '41793026727'
content:
dataCoding: 8
esmClass: 0
hex: 0048 0065 006c 006c 006f 0020 0077 006f 0072 006c 0064 002c 0020 039a 03b1 03bb 03b7 03bc 03ad 03c1 03b1 0020 03ba 03cc 03c3 03bc 03b5 002c 0020 30b3 30f3 30cb 30c1 30cf
options:
flash: true
application/xml:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.SmsRequestEnvelope'
examples:
Send basic textual message:
summary: Send basic textual message
value: "\n \n \n InfoSMS\n \n This is a sample message\n \n \n \n 41793026727\n \n \n \n \n\n"
Send fully-featured textual message:
summary: Send fully-featured textual message
value: "\n \n \n BULK-ID-123-xyz\n 2021-08-24T15:00:00.000+0000\n \n \n true\n true\n https://example.com/click-report\n true\n example.com\n \n true\n \n true\n MY_CAMPAIGN\n \n \n \n \n InfoSMS\n \n Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.\n TURKISH\n \n TR\n \n \n \n \n 720\n HOURS\n \n summersale\n \n \n \n https://www.example.com/sms/advanced\n true\n \n application/json\n DLR callback data\n \n \n \n 41793026727\n MESSAGE-ID-123-xyz\n \n \n 41793026834\n \n \n \n \n 41793026700\n \n A long time ago, in a galaxy far, far away... It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire.\n \n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n \n \n \n 41793026700\n \n \n \n \n\n"
Send flash textual message:
summary: Send flash textual message
description: Send a message that will pop-up on the user's phone
value: "\n \n \n InfoSMS\n \n Toto, I've got a feeling we're not in Kansas anymore.\n \n \n true\n \n \n \n 41793026727\n \n \n \n \n\n"
SMS language:
summary: SMS language
description: Crossing SMS language barriers with the National Language Identifier for Turkish, Spanish and Portuguese
value: "\n \n \n InfoSMS\n \n Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.\n \n TR\n \n \n \n \n 41793026727\n \n \n \n \n\n"
SMS transliteration:
summary: SMS transliteration
description: Send full-size messages in original language alphabet using transliteration conversion
value: "\n \n \n InfoSMS\n \n Ως Μεγαρικό ψήφισμα είνα…ι καθολικό εμπάργκο στα\n GREEK\n \n \n \n 41793026727\n \n \n \n \n\n"
Platform features:
summary: Platform features
description: Parts of the SMS message, such as message sender, will be customized in accordance with provided application and entity ids. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
value: "\n \n \n \n Custom application and entity based rules will be applied to this message\n \n \n \n promotional-traffic-entity\n marketing-automation-application\n \n \n \n \n 41793026727\n \n \n \n \n\n"
Send Basic India DLT message:
summary: Send Basic India DLT message
description: Send a message with India DLT parameters included
value: "\n \n \n InfoSMS\n \n India DLT parameters will be applied in this message\n \n \n \n \n 1111111111111111111\n 1111111111111111112\n 111111111111\n \n \n \n \n \n 41793026727\n \n \n \n \n\n"
Send fully-featured binary SMS message:
summary: Send fully-featured binary SMS message
value: "\n \n \n BULK-ID-123-xyz\n 2021-08-23T14:00:00.000+0000\n \n \n \n \n InfoSMS\n \n 0\n 0\n 54 65 73 74 20 6d 65 73 73 61 67 65 2e\n \n \n \n 720\n HOURS\n \n \n \n \n https://www.example.com/sms/advanced\n true\n \n application/json\n DLR callback data\n \n \n \n 41793026727\n MESSAGE-ID-123-xyz\n \n \n 41793026834\n \n \n \n \n 41793026700\n \n 0\n 0\n 41 20 6C 6F 6E 67 20 74 …20 45 6D 70 69 72 65 2E\n \n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n summersale\n \n \n \n 41793026700\n \n \n \n \n\n"
Send Unicode flash binary SMS message:
summary: Send Unicode flash binary SMS message
value: "\n \n \n InfoSMS\n \n 8\n 0\n 0048 0065 006c 006c 006f 0020 0077 006f 0072 006c 0064 002c 0020 039a 03b1 03bb 03b7 03bc 03ad 03c1 03b1 0020 03ba 03cc 03c3 03bc 03b5 002c 0020 30b3 30f3 30cb 30c1 30cf\n \n \n true\n \n \n \n 41793026727\n \n \n \n \n\n"
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.SmsResponseEnvelope'
examples:
Response for request with one destination:
summary: Response for request with one destination
value:
bulkId: '2034072219640523072'
messages:
- messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
destination: '41793026727'
details:
messageCount: 1
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value:
bulkId: '2034072219640523072'
messages:
- messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
destination: '41793026727'
details:
messageCount: 1
- messageId: 3350be2d4219-3af1-23343-bbbb-1362af1edfd3
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
destination: '41435675123'
details:
messageCount: 1
application/xml:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.SmsResponseEnvelope'
examples:
Response for request with one destination:
summary: Response for request with one destination
value: "\n 2034072219640523072\n \n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 41793026727\n \n 1\n \n \n \n\n"
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value: "\n 2034072219640523072\n \n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 41793026727\n \n 1\n \n \n \n 3350be2d4219-3af1-23343-bbbb-1362af1edfd3\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 41435675123\n \n 1\n \n \n \n\n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
application/xml:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value: "\n E400\n Request cannot be processed.\n Check the syntax, violations and adjust the request.\n \n \n property.path\n Violation message.\n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-additionalInfo:
markdown: '### Related
- [Activate Verified SMS - get look and feel of chat apps on SMS communication](https://www.infobip.com/docs/sms/verified-sms)
- [Buy numbers for sending and receiving messages](#platform-&-connectivity/numbers)
'
x-versions:
- versionNumber: 3
latest: true
operationId: send-sms-messages
- versionNumber: 2
latest: false
operationId: send-sms-message
- versionNumber: 2
latest: false
operationId: send-binary-sms-message
/sms/3/text/query:
get:
tags:
- channels
summary: Send SMS message over query parameters
description: All message parameters of the message can be defined in the query string. Use this method only if [Send SMS message](#channels/sms/send-sms-messages) is not an option for your use case!
**Note:** Make sure that special characters are properly encoded. Use a [URL encoding reference](https://www.w3schools.com/tags/ref_urlencode.asp) as a guide. This endpoint is the successor of [Send SMS message over query parameters](#channels/sms/send-sms-message-over-query-parameters).
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: send-sms-messages-over-query-parameters
parameters:
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: false
style: form
explode: true
schema:
type: string
maxLength: 100
minLength: 0
- name: from
in: query
description: The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`).
required: false
style: form
explode: true
schema:
type: string
example: InfoSMS
- name: to
in: query
description: List of message recipients.
required: true
style: form
explode: true
schema:
type: array
items:
type: string
example: 41793026727,41793026834
- name: text
in: query
description: Content of the message being sent.
required: true
style: form
explode: true
schema:
type: string
example: Message text
- name: flash
in: query
description: Sends a [flash SMS](https://www.infobip.com/docs/sms/message-types#flash-sms) if set to true.
required: false
style: form
explode: true
schema:
type: boolean
example: true
- name: transliteration
in: query
description: Conversion of a message text from one script to another.
required: false
style: form
explode: true
schema:
type: string
example: TURKISH
- name: languageCode
in: query
description: Code for language character set of a message content.
required: false
style: form
explode: true
schema:
type: string
example: TR
- name: intermediateReport
in: query
description: Use a [real-time intermediate delivery report](#channels/sms/receive-outbound-sms-message-report-v3) that will be sent on your callback server.
required: false
style: form
explode: true
schema:
type: boolean
example: true
- name: notifyUrl
in: query
description: The URL on your call back server on to which a delivery report will be sent.
required: false
style: form
explode: true
schema:
type: string
example: https://www.example.com
- name: notifyContentType
in: query
description: Preferred delivery report content type, `application/json` or `application/xml`.
required: false
style: form
explode: true
schema:
type: string
example: application/json
- name: callbackData
in: query
description: Additional data that can be used for identifying, managing, or monitoring a message. Data included here will also be automatically included in the message [Delivery Report](#channels/sms/get-outbound-sms-message-delivery-reports-v3). The maximum value is 4000 characters.
required: false
style: form
explode: true
schema:
type: string
maxLength: 4000
minLength: 0
example: callbackData
- name: validityPeriod
in: query
description: The message validity period in minutes. When the period expires, it will not be allowed for the message to be sent. Validity period longer than 48h is not supported. Any bigger value will automatically default back to `2880`.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 720
- name: sendAt
in: query
description: 'Date and time when the message is to be sent. Used for [scheduled SMS](#channels/sms/get-scheduled-sms-messages). Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`. Must be sooner than 180 days from now.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
- name: includeSmsCountInResponse
in: query
description: 'Set to true to return smsCount in the response. Default is false. smsCount is the total count of SMS submitted in the request. SMS messages have a character limit and messages longer than that limit will be split into multiple SMS and reflected in the total count of SMS submitted. '
required: false
style: form
explode: true
schema:
type: boolean
- name: trackingUrl
in: query
description: The URL of your callback server on to which the Click report will be sent.
required: false
style: form
explode: true
schema:
type: string
- name: trackingType
in: query
description: Sets a custom conversion type naming convention, e.g. ONE_TIME_PIN, SOCIAL_INVITES, etc.
required: false
style: form
explode: true
schema:
type: string
example: Custom tracking type
- name: indiaDltContentTemplateId
in: query
description: The ID of your registered DLT (Distributed Ledger Technology) content template.
required: false
style: form
explode: true
schema:
type: string
example: '1111111111111111111'
- name: indiaDltPrincipalEntityId
in: query
description: Your DLT (Distributed Ledger Technology) entity id.
required: false
style: form
explode: true
schema:
type: string
example: '1111111111111111112'
- name: indiaDltTelemarketerId
in: query
description: Your assigned Telemarketer ID. (required for Aggregators)
required: false
style: form
explode: true
schema:
type: string
example: 111111111111
- name: turkeyIysBrandCode
in: query
description: Brand code is an ID of the company based on a company VAT number. If not provided in request, default value is used from your Infobip account.
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: turkeyIysRecipientType
in: query
description: Recipient Type must be TACIR or BIREYSEL
required: false
style: form
explode: true
schema:
type: string
- name: southKoreaResellerCode
in: query
description: 'Reseller identification code: 9-digit registration number in the business registration certificate for South Korea. Resellers should submit this when sending.'
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: southKoreaTitle
in: query
description: Title of the message.
required: false
style: form
explode: true
schema:
type: string
description: Title of the message.
maxLength: 66
minLength: 0
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.SmsResponseEnvelope'
examples:
Response for request with one destination:
summary: Response for request with one destination
value:
bulkId: '2034072219640523072'
messages:
- messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
destination: '41793026727'
details:
messageCount: 1
application/xml:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.SmsResponseEnvelope'
examples:
Response for request with one destination:
summary: Response for request with one destination
value: "\n 2034072219640523072\n \n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 41793026727\n \n 1\n \n \n \n\n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-additionalInfo:
markdown: '### Related
- [Activate Verified SMS - get look and feel of chat apps on SMS communication](https://www.infobip.com/docs/sms/verified-sms)
- [Buy numbers for sending and receiving messages](#platform-&-connectivity/numbers)
'
x-versions:
- versionNumber: 3
latest: true
operationId: send-sms-messages-over-query-parameters
- versionNumber: 1
latest: false
operationId: send-sms-message-over-query-parameters
/sms/1/text/query:
get:
tags:
- channels
summary: Send SMS message over query parameters
description: All message parameters of the message can be defined in the query string. Use this method only if [Send SMS message](#channels/sms/send-sms-message) is not an option for your use case!
**Note:** Make sure that special characters and user credentials are properly encoded. Use a [URL encoding reference](https://www.w3schools.com/tags/ref_urlencode.asp) as a guide.
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: send-sms-message-over-query-parameters
parameters:
- name: username
in: query
description: Username for authentication.
required: true
style: form
explode: true
schema:
type: string
- name: password
in: query
description: Password for authentication.
required: true
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. Anything above 100 characters passed in the request will be clipped during processing and returned in response, reports and logs.
required: false
style: form
explode: true
schema:
type: string
- name: from
in: query
description: The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`).
required: false
style: form
explode: true
schema:
type: string
example: InfoSMS
- name: to
in: query
description: List of message recipients.
required: true
style: form
explode: true
schema:
type: array
items:
type: string
example: 41793026727,41793026834
- name: text
in: query
description: Content of the message being sent.
required: false
style: form
explode: true
schema:
type: string
example: Message text
- name: flash
in: query
description: Sends a [flash SMS](https://www.infobip.com/docs/sms/message-types#flash-sms) if set to true.
required: false
style: form
explode: true
schema:
type: boolean
example: true
- name: transliteration
in: query
description: Conversion of a message text from one script to another.
required: false
style: form
explode: true
schema:
type: string
example: TURKISH
- name: languageCode
in: query
description: Code for language character set of a message content.
required: false
style: form
explode: true
schema:
type: string
example: TR
- name: intermediateReport
in: query
description: Use a [real-time intermediate delivery report](#channels/sms/receive-outbound-sms-message-report) that will be sent on your callback server.
required: false
style: form
explode: true
schema:
type: boolean
example: true
- name: notifyUrl
in: query
description: The URL on your call back server on to which a delivery report will be sent.
required: false
style: form
explode: true
schema:
type: string
example: https://www.example.com
- name: notifyContentType
in: query
description: Preferred delivery report content type, `application/json` or `application/xml`.
required: false
style: form
explode: true
schema:
type: string
example: application/json
- name: callbackData
in: query
description: Additional data that can be used for identifying, managing, or monitoring a message. Data included here will also be automatically included in the message [Delivery Report](#channels/sms/get-outbound-sms-message-delivery-reports). The maximum value is 4000 characters.
required: false
style: form
explode: true
schema:
type: string
maxLength: 4000
minLength: 0
example: callbackData
- name: validityPeriod
in: query
description: The message validity period in minutes. When the period expires, it will not be allowed for the message to be sent. Validity period longer than 48h is not supported. Any bigger value will automatically default back to `2880`.
required: false
style: form
explode: true
schema:
type: integer
format: int64
example: 720
- name: sendAt
in: query
description: 'Date and time when the message is to be sent. Used for [scheduled SMS](#channels/sms/get-scheduled-sms-messages). Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`. Must be sooner than 180 days from now.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
- name: track
in: query
description: 'Sets the conversion element to be tracked. Possible values: `SMS` and `URL`. For more details on SMS Conversion, see: [Track Conversion](https://www.infobip.com/docs/sms/api#track-conversion).'
required: false
style: form
explode: true
schema:
type: string
example: URL
- name: processKey
in: query
description: The process key which uniquely identifies conversion tracking.
required: false
style: form
explode: true
schema:
type: string
- name: trackingType
in: query
description: Sets a custom conversion type naming convention, e.g. ONE_TIME_PIN, SOCIAL_INVITES, etc.
required: false
style: form
explode: true
schema:
type: string
example: Custom tracking type
- name: indiaDltContentTemplateId
in: query
description: The ID of your registered DLT (Distributed Ledger Technology) content template.
required: false
style: form
explode: true
schema:
type: string
example: '1111111111111111111'
- name: indiaDltPrincipalEntityId
in: query
description: Your DLT (Distributed Ledger Technology) entity id.
required: false
style: form
explode: true
schema:
type: string
example: '1111111111111111112'
- name: indiaDltTelemarketerId
in: query
description: Your assigned Telemarketer ID. (required for Aggregators)
required: false
style: form
explode: true
schema:
type: string
example: 111111111111
- name: turkeyIysBrandCode
in: query
description: Brand code is an ID of the company based on a company VAT number. If not provided in request, default value is used from your Infobip account.
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: turkeyIysRecipientType
in: query
description: Recipient Type must be TACIR or BIREYSEL
required: false
style: form
explode: true
schema:
type: string
- name: southKoreaResellerCode
in: query
description: 'Reseller identification code: 9-digit registration number in the business registration certificate for South Korea. Resellers should submit this when sending.'
required: false
style: form
explode: true
schema:
type: integer
format: int32
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/cb1ef9a380a46bb9d49281818dd22b206a7f89260670bd103daadd3abc4386a3.QuerySmsResponse'
examples:
Response for request with one destination:
summary: Response for request with one destination
value:
bulkId: '2034072219640523072'
messages:
- messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ENROUTE
to: '41793026727'
smsCount: 1
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value:
bulkId: '2034072219640523073'
messages:
- messageId: '2033247207850523791'
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ENROUTE
to: '41793026727'
smsCount: 1
- messageId: '2033247207850523792'
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ENROUTE
to: '41793026834'
smsCount: 1
application/xml:
schema:
$ref: '#/components/schemas/cb1ef9a380a46bb9d49281818dd22b206a7f89260670bd103daadd3abc4386a3.QuerySmsResponse'
examples:
Response for request with one destination:
summary: Response for request with one destination
value: "\n 2034072219640523072\n \n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ENROUTE\n \n 41793026727\n 1\n \n \n\n"
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value: "\n 2034072219640523073\n \n \n 2033247207850523791\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ENROUTE\n \n 41793026727\n 1\n \n \n 2033247207850523792\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ENROUTE\n \n 41793026834\n 1\n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-deprecationInformation:
deprecation: 2024-10-09T12:00:00.00+0000
successorOperationId: send-sms-messages-over-query-parameters
x-additionalInfo:
markdown: '### Related
- [Activate Verified SMS - get look and feel of chat apps on SMS communication](https://www.infobip.com/docs/sms/verified-sms)
- [Buy numbers for sending and receiving messages](#platform-&-connectivity/numbers)
'
x-versions:
- versionNumber: 3
latest: true
operationId: send-sms-messages-over-query-parameters
- versionNumber: 1
latest: false
operationId: send-sms-message-over-query-parameters
/sms/1/preview:
post:
tags:
- channels
summary: Preview SMS message
description: Avoid unpleasant surprises and check how different message configurations will affect your message text, number of characters and message parts.
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: preview-sms-message
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/01e84c3b4dd6fb6c49761ac60f0bbc50e5117905a6beb7547645113e59aaeb46.PreviewRequest'
examples:
Preview message count and remaining characters:
summary: Preview message count and remaining characters
description: Use this method to check how many characters are left in your message and if it fits into one or more messages.
value:
text: Let's see how many characters remain unused in this message.
Preview with message language:
summary: Preview with message language
description: In this example we will request a message preview for Turkish language by introducing the languageCode parameter.
value:
text: Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.
languageCode: TR
Preview with transliteration:
summary: Preview with transliteration
description: Transliteration is a technique that replaces the original special characters
value:
text: Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα
transliteration: GREEK
application/xml:
schema:
$ref: '#/components/schemas/01e84c3b4dd6fb6c49761ac60f0bbc50e5117905a6beb7547645113e59aaeb46.PreviewRequest'
examples:
Preview message count and remaining characters:
summary: Preview message count and remaining characters
description: Use this method to check how many characters are left in your message and if it fits into one or more messages.
value: "\n Let's see how many characters remain unused in this message.\n\n"
Preview with message language:
summary: Preview with message language
description: In this example we will request a message preview for Turkish language by introducing the languageCode parameter.
value: "\n Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.\n TR\n\n"
Preview with transliteration:
summary: Preview with transliteration
description: Transliteration is a technique that replaces the original special characters
value: "\n Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα\n GREEK\n\n"
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/b888d833f5e2077036527211f9d9a5502285e1c742cd8459a9d3ad85cb1fa1f5.PreviewResponse'
examples:
Preview response:
summary: Preview response
value:
originalText: Let's see how many characters remain unused in this message.
previews:
- textPreview: Let's see how many characters remain unused in this message.
messageCount: 1
charactersRemaining: 100
configuration: {}
Preview response for request with message language:
summary: Preview response for request with message language
value:
originalText: Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.
previews:
- textPreview: Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.
messageCount: 2
charactersRemaining: 36
configuration: {}
- textPreview: Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.
messageCount: 1
charactersRemaining: 57
configuration:
language:
languageCode: TR
Preview response for request with transliteration:
summary: Preview response for request with transliteration
value:
originalText: Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα.
previews:
- textPreview: Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα
messageCount: 3
charactersRemaining: 46
configuration: {}
- textPreview: ΩΣ MEΓAPIKO ΨHΦIΣMA EINAI ΓNΩΣTH H AΠOΦAΣH THΣ EKKΛHΣIAΣ TOY ΔHMOY TΩN AΘHNAIΩN (ΠIΘANON ΓYPΩ ΣTO 433/2 Π.X.) NA EΠIBAΛEI AYΣTHPO KAI KAΘOΛIKO EMΠAPΓKO ΣTA
messageCount: 1
charactersRemaining: 5
configuration:
transliteration: GREEK
application/xml:
schema:
$ref: '#/components/schemas/b888d833f5e2077036527211f9d9a5502285e1c742cd8459a9d3ad85cb1fa1f5.PreviewResponse'
examples:
Preview response:
summary: Preview response
value: "\n Let's see how many characters remain unused in this message.\n \n \n Let's see how many characters remain unused in this message.\n 1\n 100\n \n \n \n\n"
Preview response for request with message language:
summary: Preview response for request with message language
value: "\n Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.\n \n \n Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.\n 2\n 36\n \n \n \n Mesaj gönderimi yapmadan önce önizleme seçeneğini kullanmanız doğru karar vermenize yardımcı olur.\n 1\n 57\n \n \n TR\n \n \n \n \n\n"
Preview response for request with transliteration:
summary: Preview response for request with transliteration
value: "\n Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα.\n \n \n Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα\n 3\n 46\n \n \n \n ΩΣ MEΓAPIKO ΨHΦIΣMA EINAI ΓNΩΣTH H AΠOΦAΣH THΣ EKKΛHΣIAΣ TOY ΔHMOY TΩN AΘHNAIΩN (ΠIΘANON ΓYPΩ ΣTO 433/2 Π.X.) NA EΠIBAΛEI AYΣTHPO KAI KAΘOΛIKO EMΠAPΓKO ΣTA\n 1\n 5\n \n GREEK\n \n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:manage
/sms/2/text/advanced:
post:
tags:
- channels
summary: Send SMS message
description: 'Use this endpoint to send an SMS and set up a rich set of features, such as batch sending with a single API request, scheduling, URL tracking, language and transliteration configuration, etc. The API response will not contain the final delivery status, use [Delivery Reports](https://www.infobip.com/docs/api/channels/sms/sms-messaging/logs-and-status-reports/receive-outbound-sms-message-report) instead.\
In light of improved features, this endpoint has been superseded. Please visit [Send SMS message](#channels/sms/send-sms-messages) for the next version.'
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: send-sms-message
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/1612e6f124bb6c5b1f4f7b12ca64104d59fdfdf779c97454e478b219583b9d48.SMSAdvancedTextualRequest'
examples:
Send basic textual messages:
summary: Send basic textual messages
value:
messages:
- destinations:
- to: '41793026727'
from: InfoSMS
text: This is a sample message
Send fully-featured textual message:
summary: Send fully-featured textual message
value:
bulkId: BULK-ID-123-xyz
messages:
- callbackData: DLR callback data
destinations:
- messageId: MESSAGE-ID-123-xyz
to: '41793026727'
- to: '41793026834'
flash: false
from: InfoSMS
intermediateReport: true
language:
languageCode: TR
notifyContentType: application/json
notifyUrl: https://www.example.com/sms/advanced
text: Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.
transliteration: TURKISH
validityPeriod: 720
campaignReferenceId: summersale
- deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
destinations:
- to: '41793026700'
from: '41793026700'
sendAt: 2021-08-25T16:00:00.000+0000
text: A long time ago, in a galaxy far, far away... It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire.
tracking:
track: SMS
type: MY_CAMPAIGN
Send flash message:
summary: Send flash message
description: Send a message that will pop-up on the user's phone
value:
messages:
- destinations:
- to: '41793026727'
flash: true
from: InfoSMS
text: Toto, I've got a feeling we're not in Kansas anymore.
SMS language:
summary: SMS language
description: Crossing SMS language barriers with the National Language Identifier for Turkish, Spanish and Portuguese
value:
messages:
- destinations:
- to: '41793026727'
from: InfoSMS
language:
languageCode: TR
text: Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.
SMS transliteration:
summary: SMS transliteration
description: Send full-size messages in original language alphabet using transliteration conversion
value:
messages:
- destinations:
- to: '41793026727'
from: InfoSMS
text: Ως Μεγαρικό ψήφισμα είνα…ι καθολικό εμπάργκο στα
transliteration: GREEK
Platform features:
summary: Platform features
description: Parts of the SMS message, such as message sender, will be customized in accordance with provided application and entity ids. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
value:
messages:
- destinations:
- to: '41793026727'
text: Custom application and entity based rules will be applied to this message
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
Send Basic India DLT message:
summary: Send Basic India DLT message
description: Send a message with India DLT parameters included
value:
messages:
- destinations:
- to: '41793026727'
from: InfoSMS
regional:
indiaDlt:
contentTemplateId: '1111111111111111111'
principalEntityId: '1111111111111111112'
telemarketerId: '111111111111'
text: India DLT parameters will be applied in this message
application/xml:
schema:
$ref: '#/components/schemas/1612e6f124bb6c5b1f4f7b12ca64104d59fdfdf779c97454e478b219583b9d48.SMSAdvancedTextualRequest'
examples:
Send basic textual messages:
summary: Send basic textual messages
value: "\n \n \n InfoSMS\n This is a sample message\n \n \n 41793026727\n \n \n \n \n\n"
Send fully-featured textual message:
summary: Send fully-featured textual message
value: "\n BULK-ID-123-xyz\n \n \n MY_CAMPAIGN\n \n \n \n DLR callback data\n false\n InfoSMS\n true\n \n TR\n \n application/json\n https://www.example.com/sms/advanced\n Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.\n TURKISH\n 720\n summersale\n \n \n MESSAGE-ID-123-xyz\n 41793026727\n \n \n 41793026834\n \n \n \n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n 41793026700\n 2021-08-25T16:00:00.000+0000\n A long time ago, in a galaxy far, far away... It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire.\n \n \n 41793026700\n \n \n \n \n\n"
Send flash message:
summary: Send flash message
description: Send a message that will pop-up on the user's phone
value: "\n \n \n true\n InfoSMS\n Toto, I've got a feeling we're not in Kansas anymore.\n \n \n 41793026727\n \n \n \n \n\n"
SMS language:
summary: SMS language
description: Crossing SMS language barriers with the National Language Identifier for Turkish, Spanish and Portuguese
value: "\n \n \n InfoSMS\n \n TR\n \n Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz.\n \n \n 41793026727\n \n \n \n \n\n"
SMS transliteration:
summary: SMS transliteration
description: Send full-size messages in original language alphabet using transliteration conversion
value: "\n \n \n InfoSMS\n Ως Μεγαρικό ψήφισμα είνα…ι καθολικό εμπάργκο στα\n GREEK\n \n \n 41793026727\n \n \n \n \n\n"
Platform features:
summary: Platform features
description: Parts of the SMS message, such as message sender, will be customized in accordance with provided application and entity ids. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
value: "\n \n \n Custom application and entity based rules will be applied to this message\n promotional-traffic-entity\n marketing-automation-application\n \n \n 41793026727\n \n \n \n \n\n"
Send Basic India DLT message:
summary: Send Basic India DLT message
description: Send a message with India DLT parameters included
value: "\n \n \n InfoSMS\n \n \n 1111111111111111111\n 1111111111111111112\n 111111111111\n \n \n India DLT parameters will be applied in this message\n \n \n 41793026727\n \n \n \n \n\n"
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/33e5f9b198702dad16ca1f81c1bb567a11b08d145013a25f78031b56a52d656b.SMSResponse'
examples:
Response for request with one destination:
summary: Response for request with one destination
value:
bulkId: '2034072219640523072'
messages:
- messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
to: '41793026727'
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value:
bulkId: '2034072219640523073'
messages:
- messageId: '2033247207850523791'
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
to: '41793026727'
- messageId: '2033247207850523792'
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
to: '41793026834'
application/xml:
schema:
$ref: '#/components/schemas/33e5f9b198702dad16ca1f81c1bb567a11b08d145013a25f78031b56a52d656b.SMSResponse'
examples:
Response for request with one destination:
summary: Response for request with one destination
value: "\n 2034072219640523072\n \n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ACCEPTED\n \n 41793026727\n \n \n\n"
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value: "\n 2034072219640523073\n \n \n 2033247207850523791\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ACCEPTED\n \n 41793026727\n \n \n 2033247207850523792\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ACCEPTED\n \n 41793026834\n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-additionalInfo:
markdown: '### Related
- [Activate Verified SMS - get look and feel of chat apps on SMS communication](https://www.infobip.com/docs/sms/verified-sms)
- [Buy numbers for sending and receiving messages](#platform-&-connectivity/numbers)
'
x-versions:
- versionNumber: 3
latest: true
operationId: send-sms-messages
- versionNumber: 2
latest: false
operationId: send-sms-message
- versionNumber: 2
latest: false
operationId: send-binary-sms-message
/sms/2/binary/advanced:
post:
tags:
- channels
summary: Send binary SMS message
description: 'Send single or multiple binary messages to one or more destination address. The API response will not contain the final delivery status, use [Delivery Reports](https://www.infobip.com/docs/api/channels/sms/sms-messaging/logs-and-status-reports/receive-outbound-sms-message-report) instead.\
In light of improved features, this endpoint has been superseded. Please visit [Send SMS message](#channels/sms/send-sms-messages) for the next version.'
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: send-binary-sms-message
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/7b23cc7ec456214e90b61e3d5abd3aaf7422ea4b20f1cdd2d4e9c44fbceaf035.SMSAdvancedBinaryRequest'
examples:
Send fully-featured binary message:
summary: Send fully-featured binary message
value:
bulkId: BULK-ID-123-xyz
messages:
- binary:
dataCoding: 0
esmClass: 0
hex: 54 65 73 74 20 6d 65 73 73 61 67 65 2e
callbackData: DLR callback data
destinations:
- messageId: MESSAGE-ID-123-xyz
to: '41793026727'
- to: '41793026834'
from: InfoSMS
intermediateReport: true
notifyContentType: application/json
notifyUrl: https://www.example.com/sms/advanced
validityPeriod: 720
campaignReferenceId: summersale
- binary:
dataCoding: 0
esmClass: 0
hex: 41 20 6C 6F 6E 67 20 74 …20 45 6D 70 69 72 65 2E
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
destinations:
- to: '41793026700'
from: '41793026700'
sendAt: 2021-08-25T16:00:00.000+0000
Unicode flash binary SMS:
summary: Unicode flash binary SMS
description: Send Unicode flash SMS m… over binary API method
value:
messages:
- binary:
dataCoding: 8
esmClass: 0
hex: 0048 0065 006c 006c 006f 0020 0077 006f 0072 006c 0064 002c 0020 039a 03b1 03bb 03b7 03bc 03ad 03c1 03b1 0020 03ba 03cc 03c3 03bc 03b5 002c 0020 30b3 30f3 30cb 30c1 30cf
destinations:
- to: '41793026727'
flash: true
from: InfoSMS
application/xml:
schema:
$ref: '#/components/schemas/7b23cc7ec456214e90b61e3d5abd3aaf7422ea4b20f1cdd2d4e9c44fbceaf035.SMSAdvancedBinaryRequest'
examples:
Send fully-featured binary message:
summary: Send fully-featured binary message
value: "\n BULK-ID-123-xyz\n \n \n \n 0\n 0\n 54 65 73 74 20 6d 65 73 73 61 67 65 2e\n \n DLR callback data\n InfoSMS\n true\n application/json\n https://www.example.com/sms/advanced\n 720\n summersale\n \n \n MESSAGE-ID-123-xyz\n 41793026727\n \n \n 41793026834\n \n \n \n \n \n 0\n 0\n 41 20 6C 6F 6E 67 20 74 …20 45 6D 70 69 72 65 2E\n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n 41793026700\n 2021-08-25T16:00:00.000+0000\n \n \n 41793026700\n \n \n \n \n\n"
Unicode flash binary SMS:
summary: Unicode flash binary SMS
description: Send Unicode flash SMS m… over binary API method
value: "\n \n \n \n 8\n 0\n 0048 0065 006c 006c 006f 0020 0077 006f 0072 006c 0064 002c 0020 039a 03b1 03bb 03b7 03bc 03ad 03c1 03b1 0020 03ba 03cc 03c3 03bc 03b5 002c 0020 30b3 30f3 30cb 30c1 30cf\n \n true\n InfoSMS\n \n \n 41793026727\n \n \n \n \n\n"
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/33e5f9b198702dad16ca1f81c1bb567a11b08d145013a25f78031b56a52d656b.SMSResponse'
examples:
Response for request with one destination:
summary: Response for request with one destination
value:
bulkId: '2034072219640523072'
messages:
- messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
to: '41793026727'
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value:
bulkId: '2034072219640523073'
messages:
- messageId: '2033247207850523791'
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
to: '41793026727'
- messageId: '2033247207850523792'
status:
description: Message sent to next instance
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
to: '41793026834'
application/xml:
schema:
$ref: '#/components/schemas/33e5f9b198702dad16ca1f81c1bb567a11b08d145013a25f78031b56a52d656b.SMSResponse'
examples:
Response for request with one destination:
summary: Response for request with one destination
value: "\n 2034072219640523072\n \n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ACCEPTED\n \n 41793026727\n \n \n\n"
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value: "\n 2034072219640523073\n \n \n 2033247207850523791\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ACCEPTED\n \n 41793026727\n \n \n 2033247207850523792\n \n Message sent to next instance\n 1\n PENDING\n 26\n PENDING_ACCEPTED\n \n 41793026834\n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-versions:
- versionNumber: 3
latest: true
operationId: send-sms-messages
- versionNumber: 2
latest: false
operationId: send-sms-message
- versionNumber: 2
latest: false
operationId: send-binary-sms-message
/sms/1/bulks:
get:
tags:
- channels
summary: Get scheduled SMS messages
description: See all [scheduled messages](https://www.infobip.com/docs/sms/sms-over-api#schedule-sms) and their scheduled date and time. To schedule a message, use the `sendAt` field when [sending a message](#channels/sms/sms-messaging/outbound-sms/send-sms-messages).
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: get-scheduled-sms-messages
parameters:
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: true
style: form
explode: true
schema:
type: string
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
example: BULK-ID-123-xyz
example: BULK-ID-123-xyz
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/2e05f28ea1ad0c8ab6683b6adca8c2dc53bf0d4883946379aef59ba8417e5029.BulkResponse'
examples:
Get message schedule info:
summary: Get message schedule info
value:
bulkId: BULK-ID-123-xyz
sendAt: 2021-08-25T16:00:00.000+0000
application/xml:
schema:
$ref: '#/components/schemas/2e05f28ea1ad0c8ab6683b6adca8c2dc53bf0d4883946379aef59ba8417e5029.BulkResponse'
examples:
Get message schedule info:
summary: Get message schedule info
value: "\n BULK-ID-123-xyz\n 2021-08-25T16:00:00.000+0000\n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Bulk not found responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value: "\n \n \n \n \n \n NOT_FOUND\n \n Bulk not found\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:message:send
- sms:manage
put:
tags:
- channels
summary: Reschedule SMS messages
description: Change the date and time of already [scheduled messages](https://www.infobip.com/docs/sms/sms-over-api#schedule-sms). To schedule a message, use the `sendAt` field when [sending a message](#channels/sms/sms-messaging/outbound-sms/send-sms-messages).
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: reschedule-sms-messages
parameters:
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: true
style: form
explode: true
schema:
type: string
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
example: BULK-ID-123-xyz
example: BULK-ID-123-xyz
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/2e05f28ea1ad0c8ab6683b6adca8c2dc53bf0d4883946379aef59ba8417e5029.BulkRequest'
examples:
Reschedule messages:
summary: Reschedule messages
value:
sendAt: 2021-08-25T16:00:00.000+0000
application/xml:
schema:
$ref: '#/components/schemas/2e05f28ea1ad0c8ab6683b6adca8c2dc53bf0d4883946379aef59ba8417e5029.BulkRequest'
examples:
Reschedule messages:
summary: Reschedule messages
value: "\n 2021-08-25T16:00:00.000+0000\n\n"
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/2e05f28ea1ad0c8ab6683b6adca8c2dc53bf0d4883946379aef59ba8417e5029.BulkResponse'
examples:
Get message schedule info:
summary: Get message schedule info
value:
bulkId: BULK-ID-123-xyz
sendAt: 2021-08-25T16:00:00.000+0000
application/xml:
schema:
$ref: '#/components/schemas/2e05f28ea1ad0c8ab6683b6adca8c2dc53bf0d4883946379aef59ba8417e5029.BulkResponse'
examples:
Get message schedule info:
summary: Get message schedule info
value: "\n BULK-ID-123-xyz\n 2021-08-25T16:00:00.000+0000\n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Bulk not found responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value: "\n \n \n \n \n \n NOT_FOUND\n \n Bulk not found\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:manage
/sms/1/bulks/status:
get:
tags:
- channels
summary: Get scheduled SMS messages status
description: See the status of [scheduled messages](https://www.infobip.com/docs/sms/sms-over-api#schedule-sms). To schedule a message, use the `sendAt` field when [sending a message](#channels/sms/sms-messaging/outbound-sms/send-sms-messages).
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: get-scheduled-sms-messages-status
parameters:
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: true
style: form
explode: true
schema:
type: string
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
example: BULK-ID-123-xyz
example: BULK-ID-123-xyz
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/b28487c847ed2327e816f04e75efdaf507ffcf1d938d91963e2ce7298453183f.BulkStatusResponse'
examples:
Get message status info:
summary: Get message status info
value:
bulkId: BULK-ID-123-xyz
status: PAUSED
application/xml:
schema:
$ref: '#/components/schemas/b28487c847ed2327e816f04e75efdaf507ffcf1d938d91963e2ce7298453183f.BulkStatusResponse'
examples:
Get message status info:
summary: Get message status info
value: "\n BULK-ID-123-xyz\n PAUSED\n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Bulk not found responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value: "\n \n \n \n \n \n NOT_FOUND\n \n Bulk not found\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:message:send
- sms:manage
put:
tags:
- channels
summary: Update scheduled SMS messages status
description: Change the status or completely cancel sending of [scheduled messages](https://www.infobip.com/docs/sms/sms-over-api#schedule-sms). To schedule a message, use the `sendAt` field when [sending a message](#channels/sms/sms-messaging/outbound-sms/send-sms-messages).
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: update-scheduled-sms-messages-status
parameters:
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: true
style: form
explode: true
schema:
type: string
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
example: BULK-ID-123-xyz
example: BULK-ID-123-xyz
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c8006fe0d154740d4f3e0ed89b54c9c54d35edf85894782dbfe7d9ae0ea23725.UpdateStatusRequest'
examples:
Update message status:
summary: Update message status
value:
status: PAUSED
application/xml:
schema:
$ref: '#/components/schemas/c8006fe0d154740d4f3e0ed89b54c9c54d35edf85894782dbfe7d9ae0ea23725.UpdateStatusRequest'
examples:
Update message status:
summary: Update message status
value: "\n PAUSED\n\n"
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/b28487c847ed2327e816f04e75efdaf507ffcf1d938d91963e2ce7298453183f.BulkStatusResponse'
examples:
Get message status info:
summary: Get message status info
value:
bulkId: BULK-ID-123-xyz
status: PAUSED
application/xml:
schema:
$ref: '#/components/schemas/b28487c847ed2327e816f04e75efdaf507ffcf1d938d91963e2ce7298453183f.BulkStatusResponse'
examples:
Get message status info:
summary: Get message status info
value: "\n BULK-ID-123-xyz\n PAUSED\n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Bulk not found responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bulk not found:
summary: Bulk not found
description: Bulk not found
value: "\n \n \n \n \n \n NOT_FOUND\n \n Bulk not found\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:manage
/ct/1/log/end/{messageId}:
post:
tags:
- channels
summary: Confirm conversion
description: 'Use this endpoint to inform the Infobip platform about the successful conversion on your side. Infobip will use this information to monitor SMS performance and provide you with better service. To enable Conversion Tracking, set up the “tracking” object to “SMS” when [sending a message](https://www.infobip.com/docs/api/channels/sms/sms-messaging/outbound-sms) over HTTP API.
For more information, see: [Tracking Conversion](https://www.infobip.com/docs/sms/api#track-conversion).'
operationId: log-end-tag
parameters:
- name: messageId
in: path
description: ID of a converted message.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: successful response
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/5e0af18dea7a9fe7fc7475b275c0dd721ec8be9556c5d111334ce121ba3ef90a.EndTagResponse'
examples:
Reporting conversion response example:
summary: Reporting conversion response example
value:
processKey: A37D448C1ACCA02FABA745522558326C
application/xml:
schema:
allOf:
- $ref: '#/components/schemas/5e0af18dea7a9fe7fc7475b275c0dd721ec8be9556c5d111334ce121ba3ef90a.EndTagResponse'
examples:
Reporting conversion response example:
summary: Reporting conversion response example
value: "\n A37D448C1ACCA02FABA745522558326C\n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
4XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/afc47ed3ecce0d042db7648b2699b209de7fd712b3df90ffbf75e4058f683890.ApiException'
application/xml:
schema:
$ref: '#/components/schemas/afc47ed3ecce0d042db7648b2699b209de7fd712b3df90ffbf75e4058f683890.ApiException'
'500':
$ref: '#/components/responses/ApiException500'
5XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/afc47ed3ecce0d042db7648b2699b209de7fd712b3df90ffbf75e4058f683890.ApiException'
application/xml:
schema:
$ref: '#/components/schemas/afc47ed3ecce0d042db7648b2699b209de7fd712b3df90ffbf75e4058f683890.ApiException'
security:
- Basic: []
- APIKeyHeader: []
- IBSSOTokenHeader: []
- OAuth2: []
x-is-early-access: true
x-scopes:
- sms:manage
/sms/1/inbox/reports:
get:
tags:
- channels
summary: Get inbound SMS messages
description: If you are unable to receive incoming SMS to the endpoint of your choice in real-time, you can use this API call to fetch messages. Each request will return a batch of received messages, only once. The API request will only return new messages that arrived since the last API request. To use this method, you’d need to:
- Buy a number capable of receiving SMS traffic.
- Specify a forwarding endpoint for the number and optionally configure other inbound settings.
operationId: get-inbound-sms-messages
parameters:
- name: limit
in: query
description: Maximum number of messages to be returned in a response. If not set, the latest 50 records are returned. Maximum limit value is `1000` and you can only access messages for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 2
- name: applicationId
in: query
description: Application id that the message is linked to. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: entityId
in: query
description: Entity id that the message is linked to. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message.
required: false
style: form
explode: true
schema:
type: string
example: summersale
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/cd5e571e477c0b81ca50ad592cf9f67cc32feded2012ec26d7fae09c0c2d5108.SmsMoReportResponse'
examples:
Receive SMS:
summary: Receive SMS
value:
results:
- messageId: '817790313235066447'
from: '385916242493'
to: '385921004026'
text: QUIZ Correct answer is Paris
cleanText: Correct answer is Paris
keyword: QUIZ
receivedAt: 2019-11-09T16:00:00.000+0000
smsCount: 1
price:
pricePerMessage: 0
currency: EUR
callbackData: callbackData
messageCount: 1
pendingMessageCount: 1
application/xml:
schema:
$ref: '#/components/schemas/cd5e571e477c0b81ca50ad592cf9f67cc32feded2012ec26d7fae09c0c2d5108.SmsMoReportResponse'
examples:
Receive SMS:
summary: Receive SMS
value: "\n 1\n 1\n \n \n 817790313235066447\n 385916242493\n 385921004026\n QUIZ Correct answer is Paris\n Correct answer is Paris\n QUIZ\n 2019-11-09T16:00:00.000+0000\n 1\n \n 0\n EUR\n \n callbackData\n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- inbound-message:read
- sms:inbound-message:read
- sms:manage
x-additional-versioning-information:
latest: false
versionNumber: 1
x-additionalInfo:
markdown: '### Related
- [Buy numbers for sending and receiving messages](#platform-&-connectivity/numbers)
'
/sms/3/reports:
get:
tags:
- channels
summary: Get outbound SMS message delivery reports
description: If you are unable to receive real-time message delivery reports towards your endpoint for various reasons, we offer you an API method to fetch batches of message reports to confirm whether specific messages have been delivered. Each request towards this endpoint returns batches of the latest message reports. The API returns each report only once. If the message status changes again after retrieval, the endpoint returns a new report for the updated status on the next request.
externalDocs:
description: Learn more about the SMS channel and its use cases
url: https://www.infobip.com/docs/sms
operationId: get-outbound-sms-message-delivery-reports-v3
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination address.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the message sent.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: Maximum number of delivery reports to be returned. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access reports for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
example: 1
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message.
required: false
style: form
explode: true
schema:
type: string
example: summersale
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.DeliveryReports'
examples:
Delivery report:
summary: Delivery report
value:
results:
- bulkId: BULK-ID-123-xyz
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 0
name: NO_ERROR
description: No Error
permanent: false
messageId: MESSAGE-ID-123-xyz
to: '41793026727'
sender: InfoSMS
sentAt: 2019-11-09T16:00:00.000+0100
doneAt: 2019-11-09T16:00:00.000+0100
messageCount: 1
callbackData: callbackData
platform:
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
- bulkId: BULK-ID-123-xyz
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 0
name: NO_ERROR
description: No Error
permanent: false
messageId: 12db39c3-7822-4e72-a3ec-c87442c0ffc5
to: '41793026834'
sender: InfoSMS
sentAt: 2019-11-09T17:00:00.000+0100
doneAt: 2019-11-09T17:00:00.000+0100
messageCount: 1
platform:
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
application/xml:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.DeliveryReports'
examples:
Delivery report:
summary: Delivery report
value: "\n \n \n BULK-ID-123-xyz\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n OK\n 0\n NO_ERROR\n No Error\n false\n \n MESSAGE-ID-123-xyz\n 41793026727\n InfoSMS\n 2019-11-09T16:00:00.000+0100\n 2019-11-09T16:00:00.000+0100\n 1\n callbackData\n \n promotional-traffic-entity\n marketing-automation-application\n \n \n \n BULK-ID-123-xyz\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n OK\n 0\n NO_ERROR\n No Error\n false\n \n 12db39c3-7822-4e72-a3ec-c87442c0ffc5\n 41793026834\n InfoSMS\n 2019-11-09T17:00:00.000+0100\n 2019-11-09T17:00:00.000+0100\n 1\n \n promotional-traffic-entity\n marketing-automation-application\n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-versions:
- versionNumber: 3
latest: true
operationId: get-outbound-sms-message-delivery-reports-v3
- versionNumber: 1
latest: false
operationId: get-outbound-sms-message-delivery-reports
/sms/3/logs:
get:
tags:
- channels
summary: Get outbound SMS message logs
description: Use this method to obtain the logs associated with outbound messages. The available logs are limited to those generated in the last 48 hours, and you can retrieve a maximum of only 1000 logs per call. See [message delivery reports](#channels/sms/get-outbound-sms-message-delivery-reports-v3) if your use case is to verify message delivery.
externalDocs:
description: Learn more about the SMS channel and its use cases
url: https://www.infobip.com/docs/sms
operationId: get-outbound-sms-message-logs-v3
parameters:
- name: mcc
in: query
description: Mobile Country Code.
required: false
style: form
explode: true
schema:
type: string
description: Mobile Country Code.
- name: mnc
in: query
description: Mobile Network Code. Mobile Country Code is required if this property is used.
required: false
style: form
explode: true
schema:
type: string
description: Mobile Network Code. Mobile Country Code is required if this property is used.
- name: sender
in: query
description: The sender ID which can be alphanumeric or numeric.
required: false
style: form
explode: true
schema:
type: string
- name: destination
in: query
description: Message destination address.
required: false
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: BULK-ID-123-xyz
- name: messageId
in: query
description: Unique message ID for which a log is requested. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: MESSAGE-ID-123-xyz,MESSAGE-ID-124-xyz
- name: generalStatus
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.MessageGeneralStatus'
- name: sentSince
in: query
description: 'The logs will only include messages sent after this date. Use it alongside sentUntil to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: '2020-02-22T17:42:05.390+01:00'
- name: sentUntil
in: query
description: 'The logs will only include messages sent before this date. Use it alongside sentSince to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: 'The logs will only include messages sent before this date. Use it alongside sentSince to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
example: '2020-02-23T17:42:05.39+01:00'
example: '2020-02-23T17:42:05.390+01:00'
- name: limit
in: query
description: Maximum number of messages to include in logs. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access logs for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message. May contain multiple comma-separated values.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: summersale
- name: useCursor
in: query
description: Flag used to enable cursor-based pagination. When set to true, the system will use the cursor to fetch the next set of logs.
required: false
style: form
explode: true
schema:
type: boolean
- name: cursor
in: query
description: Value which represents the current position in the data set. For the first request, this field shouldn't be defined. In subsequent requests, use the `nextCursor` value returned from the previous response to continue fetching data.
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.LogResponseSmsLogSmsMessageContent'
examples:
Log:
summary: Log
value:
results:
- destination: '41793026727'
bulkId: BULK-ID-123-xyz
messageId: MESSAGE-ID-123-xyz
sentAt: 2019-11-09T16:00:00.000+0100
doneAt: 2019-11-09T16:00:00.000+0100
messageCount: 1
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 0
name: NO_ERROR
description: No Error
permanent: false
platform:
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
content:
text: This is a sample message
mccMnc: '22801'
- destination: '41793026834'
bulkId: BULK-ID-123-xyz
messageId: 12db39c3-7822-4e72-a3ec-c87442c0ffc5
sentAt: 2019-11-09T17:00:00.000+0100
doneAt: 2019-11-09T17:00:00.000+0100
messageCount: 1
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 0
name: NO_ERROR
description: No Error
permanent: false
platform:
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
content:
text: This is a sample message
mccMnc: '22801'
application/xml:
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.LogResponseSmsLogSmsMessageContent'
examples:
Log:
summary: Log
value: "\n \n \n 41793026727\n BULK-ID-123-xyz\n MESSAGE-ID-123-xyz\n 2019-11-09T16:00:00.000+0100\n 2019-11-09T16:00:00.000+0100\n 1\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n OK\n 0\n NO_ERROR\n No Error\n false\n \n \n promotional-traffic-entity\n marketing-automation-application\n \n \n This is a sample message\n \n 22801\n \n \n 41793026834\n BULK-ID-123-xyz\n 12db39c3-7822-4e72-a3ec-c87442c0ffc5\n 2019-11-09T17:00:00.000+0100\n 2019-11-09T17:00:00.000+0100\n 1\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n OK\n 0\n NO_ERROR\n No Error\n false\n \n \n promotional-traffic-entity\n marketing-automation-application\n \n \n This is a sample message\n \n 22801\n \n \n\n"
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:manage
- sms:logs:read
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
x-versions:
- versionNumber: 3
latest: true
operationId: get-outbound-sms-message-logs-v3
- versionNumber: 1
latest: false
operationId: get-outbound-sms-message-logs
/sms/1/reports:
get:
tags:
- channels
summary: Get outbound SMS message delivery reports
description: If you are for any reason unable to receive real-time delivery reports on your endpoint, you can use this API method to learn if and when the message has been delivered to the recipient. Each request will return a batch of delivery reports - only once. The following API request will return only new reports that arrived since the last API request in the last 48 hours.
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: get-outbound-sms-message-delivery-reports
parameters:
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: Unique message ID for which a report is requested.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: Maximum number of delivery reports to be returned. If not set, the latest 50 records are returned. Maximum limit value is `1000` and you can only access reports for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
example: 2
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message.
required: false
style: form
explode: true
schema:
type: string
example: summersale
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/1705572441d20bbbfe49765ca2bed87cd314f9c5c501048d5a9494385ff9f223.SMSReportResponse'
examples:
Delivery reports:
summary: Delivery reports
value:
results:
- bulkId: BULK-ID-123-xyz
messageId: MESSAGE-ID-123-xyz
to: '41793026727'
sentAt: 2019-11-09T16:00:00.000+0000
doneAt: 2019-11-09T16:00:00.000+0000
smsCount: 1
callbackData: callbackData
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: Ok
id: 0
name: NO_ERROR
description: No Error
permanent: false
entityId: promotional-traffic-entity
applicationId: marketing-automation-application
- bulkId: BULK-ID-123-xyz
messageId: 12db39c3-7822-4e72-a3ec-c87442c0ffc5
to: '41793026834'
sentAt: 2019-11-09T17:00:00.000+0000
doneAt: 2019-11-09T17:00:00.000+0000
smsCount: 1
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: Ok
id: 0
name: NO_ERROR
description: No Error
permanent: false
applicationId: default
application/xml:
schema:
$ref: '#/components/schemas/1705572441d20bbbfe49765ca2bed87cd314f9c5c501048d5a9494385ff9f223.SMSReportResponse'
examples:
Delivery reports:
summary: Delivery reports
value: "\n \n \n BULK-ID-123-xyz\n MESSAGE-ID-123-xyz\n 41793026727\n 2019-11-09T16:00:00.000+0000\n 2019-11-09T16:00:00.000+0000\n 1\n callbackData\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n Ok\n 0\n NO_ERROR\n No Error\n false\n \n promotional-traffic-entity\n marketing-automation-application\n \n \n BULK-ID-123-xyz\n 12db39c3-7822-4e72-a3ec-c87442c0ffc5\n 41793026834\n 2019-11-09T17:00:00.000+0000\n 2019-11-09T17:00:00.000+0000\n 1\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n Ok\n 0\n NO_ERROR\n No Error\n false\n \n default\n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- sms:message:send
- sms:manage
x-versions:
- versionNumber: 3
latest: true
operationId: get-outbound-sms-message-delivery-reports-v3
- versionNumber: 1
latest: false
operationId: get-outbound-sms-message-delivery-reports
/sms/1/logs:
get:
tags:
- channels
summary: Get outbound SMS message logs
description: Use this method for displaying logs for example in the user interface. Available are the logs for the last 48 hours and you can only retrieve maximum of 1000 logs per call. See [message delivery reports](#channels/sms/get-outbound-sms-message-delivery-reports) if your use case is to verify message delivery.
externalDocs:
description: Learn more about SMS channel and use cases
url: https://www.infobip.com/docs/sms
operationId: get-outbound-sms-message-logs
parameters:
- name: from
in: query
description: The sender ID which can be alphanumeric or numeric.
required: false
style: form
explode: true
schema:
type: string
- name: to
in: query
description: Message destination address.
required: false
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: BULK-ID-123-xyz
- name: messageId
in: query
description: Unique message ID for which a log is requested. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: MESSAGE-ID-123-xyz,MESSAGE-ID-124-xyz
- name: generalStatus
in: query
description: Sent [message status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes).
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630.MessageGeneralStatus'
- name: sentSince
in: query
description: 'The logs will only include messages sent after this date. Use it alongside `sentUntil` to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2015-02-22T17:42:05.390+0100
- name: sentUntil
in: query
description: 'The logs will only include messages sent before this date. Use it alongside `sentSince` to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2015-02-22T19:42:05.390+0100
- name: limit
in: query
description: Maximum number of messages to include in logs. If not set, the latest 50 records are returned. Maximum limit value is `1000` and you can only access logs for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: mcc
in: query
description: Mobile Country Code.
required: false
style: form
explode: true
schema:
type: string
- name: mnc
in: query
description: 'Mobile Network Code. Mobile Country Code is required if this property is used. '
required: false
style: form
explode: true
schema:
type: string
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message. May contain multiple comma-separated values.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: summersale
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/b41d7b140d24800c94ddcc7df92e32ab37fc7d5f310ce1050b04561c5e59a3b7.LogsResponse'
examples:
SMS logs:
summary: SMS logs
value:
results:
- bulkId: BULK-ID-123-xyz
messageId: MESSAGE-ID-123-xyz
to: '41793026727'
sentAt: 2019-11-09T16:00:00.000+0000
doneAt: 2019-11-09T16:00:00.000+0000
smsCount: 1
mccMnc: '22801'
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: Ok
id: 0
name: NO_ERROR
description: No Error
permanent: false
- bulkId: BULK-ID-123-xyz
messageId: MESSAGE-ID-ijkl-45
to: '41793026834'
sentAt: 2019-11-09T17:00:00.000+0000
doneAt: 2019-11-09T17:00:00.000+0000
smsCount: 1
mccMnc: '22801'
price:
pricePerMessage: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: Ok
id: 0
name: NO_ERROR
description: No Error
permanent: false
application/xml:
schema:
$ref: '#/components/schemas/b41d7b140d24800c94ddcc7df92e32ab37fc7d5f310ce1050b04561c5e59a3b7.LogsResponse'
examples:
SMS logs:
summary: SMS logs
value: "\n \n \n BULK-ID-123-xyz\n MESSAGE-ID-123-xyz\n 41793026727\n 2019-11-09T16:00:00.000+0000\n 2019-11-09T16:00:00.000+0000\n 1\n 22801\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n Ok\n 0\n NO_ERROR\n No Error\n false\n \n \n \n BULK-ID-123-xyz\n MESSAGE-ID-ijkl-45\n 41793026834\n 2019-11-09T17:00:00.000+0000\n 2019-11-09T17:00:00.000+0000\n 1\n 22801\n \n 0.01\n EUR\n \n \n 3\n DELIVERED\n 5\n DELIVERED_TO_HANDSET\n Message delivered to handset\n \n \n 0\n Ok\n 0\n NO_ERROR\n No Error\n false\n \n \n \n\n"
'400':
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/578c889dd8f68587bd351066c5c6572a98ea0c15c65b5cacb8779be90fbfbb70.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- sms:logs:read
- sms:manage
x-deprecationInformation:
deprecation: 2024-05-16T12:00:00.00+0000
successorOperationId: get-outbound-sms-message-logs-v3
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
x-versions:
- versionNumber: 3
latest: true
operationId: get-outbound-sms-message-logs-v3
- versionNumber: 1
latest: false
operationId: get-outbound-sms-message-logs
/mms/2/messages:
post:
tags:
- channels
summary: Send MMS messages
description: This method allows you to send MMS messages to a recipient or multiple recipients in one request.
externalDocs:
description: Learn more about MMS channel and use cases
url: https://www.infobip.com/docs/mms
operationId: send-mms-messages
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.MmsUnificationRequest'
examples:
SMS failover:
summary: SMS failover
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- text: Some text
type: TEXT
options:
smsFailover:
sender: '441134960000'
text: Some failover text
regional:
southKorea:
resellerCode: 123
Text with regional options:
summary: Text with regional options
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- text: Some text
type: TEXT
options:
regional:
southKorea:
resellerCode: 123
Text with group destinations:
summary: Text with group destinations
value:
messages:
- sender: '441134960000'
destinations:
- group:
- to: '441134960001'
- to: '441134960002'
content:
title: Some title
messageSegments:
- text: Some text
type: TEXT
Text:
summary: Text
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- text: Some text
type: TEXT
Image as link:
summary: Image as link
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- contentType: image/jpeg
contentUrl: https://www.example.com/image.jpg
type: LINK
Text and image with smil:
summary: Text and image with smil
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- contentType: application/smil
smil:
type: SMIL
Previously uploaded image:
summary: Previously uploaded image
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- uploadedContentId: B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F
type: UPLOADED_REFERENCE
Multiple images:
summary: Multiple images
value:
messages:
- sender: '441134960000'
destinations:
- to: '441134960001'
content:
title: Some title
messageSegments:
- contentType: image/jpeg
contentUrl: https://www.example.com/image1.jpeg
type: LINK
- contentType: image/jpeg
contentUrl: https://www.example.com/image2.jpeg
type: LINK
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.ResponseEnvelopeMessageResponseMessageResponseDetails'
examples:
Success:
summary: Success
value:
bulkId: a28dd97c-2222-4fcf-99f1-0b557ed381da
messages:
- messageId: a28dd97c-1ffb-4fcf-99f1-0b557ed381da
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
destination: '441134960001'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- mms:message:send
- mms:manage
/mms/1/advanced:
post:
tags:
- channels
summary: Send MMS message
description: This method allows you to send one MMS or bulk MMS to a recipient or multiple recipients in one request.
externalDocs:
description: Learn more about MMS channel and use cases
url: https://www.infobip.com/docs/mms
operationId: send-mms-message
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ce93fb2fe51c89086b5064c5562c417f51be44b14f40606d3932f527a3fd02d9.MmsAdvancedRequest'
examples:
Send basic textual messages with image link:
summary: Send basic textual messages with image link
value:
messages:
- destinations:
- to: '41793026727'
from: InfoMMS
messageSegments:
- text: This is a sample message
- contentId: 320px-Depth_of_field_Cat.jpg
contentType: image/jpeg
contentUrl: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg
title: This is sample subject
Send basic textual messages with uploaded image:
summary: Send basic textual messages with uploaded image
value:
messages:
- destinations:
- to: '41793026727'
from: InfoMMS
messageSegments:
- text: This is a sample message
- uploadedContentId: B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F
title: This is sample subject
Send basic textual messages with base64 content:
summary: Send basic textual messages with base64 content
value:
messages:
- destinations:
- to: '41793026727'
from: InfoMMS
messageSegments:
- text: This is a sample message
- contentId: 320px-Depth_of_field_Cat.jpg
contentType: image/jpeg
contentBase64: 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
title: This is sample subject
Send basic textual message with image and smil:
summary: Send basic textual message with image and smil
value:
messages:
- destinations:
- to: '41793026727'
from: InfoMMS
messageSegments:
- contentId: smil
contentType: application/smil
smil:
- contentId: body.txt
text: This is a sample message
- contentId: image_1
contentType: image/jpeg
contentUrl: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg
title: This is sample subject
Send fully-featured message:
summary: Send fully-featured message
value:
messages:
- destinations:
- to: '41793026727'
from: InfoMMS
messageSegments:
- text: This is a sample message (part 1)
- contentId: 320px-Depth_of_field_Cat.jpg
contentType: image/jpeg
contentUrl: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg
- text: This is a sample message (part 2)
- uploadedContentId: B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F
title: This is sample subject
Send fully-featured messages (multiple):
summary: Send fully-featured messages (multiple)
value:
bulkId: BULK-ID-123-xyz
messages:
- callbackData: DLR callback data
destinations:
- messageId: MESSAGE-ID-123-xyz
to: '41793026727'
- to: '41793026834'
from: InfoSMS
intermediateReport: true
notifyUrl: https://www.example.com/sms/advanced
messageSegments:
- text: This is a sample message (part 1)
- contentId: 320px-Depth_of_field_Cat.jpg
contentType: image/jpeg
contentUrl: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg
- text: This is a sample message (part 2)
- uploadedContentId: B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F
validityPeriod: 720
- deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
destinations:
- to: '41793026700'
from: '41793026700'
messageSegments:
- text: This is a sample message
- contentId: 320px-Depth_of_field_Cat.jpg
contentType: image/jpeg
contentUrl: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg
Send fully-featured message with group destination:
summary: Send fully-featured message with group destination
value:
bulkId: BULK-ID-123-xyz
messages:
- destinations:
- group:
- to: '41793026728'
- to: '41793026729'
from: InfoMMS
messageSegments:
- text: This is a sample message (part 1)
- contentId: 320px-Depth_of_field_Cat.jpg
contentType: image/jpeg
contentUrl: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg
- text: This is a sample message (part 2)
- uploadedContentId: B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F
title: This is sample subject
application/xml:
schema:
$ref: '#/components/schemas/ce93fb2fe51c89086b5064c5562c417f51be44b14f40606d3932f527a3fd02d9.MmsAdvancedRequest'
examples:
Send basic textual messages with image link:
summary: Send basic textual messages with image link
value: "\n \n \n \n \n 41793026727\n \n \n InfoMMS\n \n \n This is a sample message\n \n \n 320px-Depth_of_field_Cat.jpg\n image/jpeg\n https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg\n \n \n This is sample subject\n \n \n\n"
Send basic textual messages with uploaded image:
summary: Send basic textual messages with uploaded image
value: "\n \n \n \n \n 41793026727\n \n \n InfoMMS\n \n \n This is a sample message\n \n \n B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F\n \n \n This is sample subject\n \n \n\n"
Send basic textual messages with base64 content:
summary: Send basic textual messages with base64 content
value: "\n \n \n \n \n 41793026727\n \n \n InfoMMS\n \n \n This is a sample message\n \n \n 320px-Depth_of_field_Cat.jpg\n image/jpeg\n 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\n \n \n This is sample subject\n \n \n\n"
Send basic textual message with image and smil:
summary: Send basic textual message with image and smil
value: "\n \n \n \n \n 41793026727\n \n \n InfoMMS\n \n \n smil\n application/smil\n <smil><head><layout><root-layout/><region id=\"Text\" top=\"70%\" left=\"0%\" height=\"30%\" width=\"100%\" fit=\"scroll\"/><region id=\"Image\" top=\"0%\" left=\"0%\" height=\"70%\" width=\"100%\" fit=\"meet\"/></layout></head><body><par dur=\"10s\"><img src=\"image_1\" region=\"Image\"/></par><par dur=\"10s\"><text src=\"body.txt\" region=\"Text\"/></par></body></smil>\n \n \n body.txt\n This is a sample message\n \n \n image_1\n image/jpeg\n https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg\n \n \n This is sample subject\n \n \n\n"
Send fully-featured message:
summary: Send fully-featured message
value: "\n \n \n \n \n 41793026727\n \n \n InfoMMS\n \n \n This is a sample message (part 1)\n \n \n 320px-Depth_of_field_Cat.jpg\n image/jpeg\n https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg\n \n \n This is a sample message (part 2)\n \n \n B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F\n \n \n This is sample subject\n \n \n\n"
Send fully-featured messages (multiple):
summary: Send fully-featured messages (multiple)
value: "\n BULK-ID-123-xyz\n \n \n DLR callback data\n \n \n MESSAGE-ID-123-xyz\n 41793026727\n \n \n 41793026834\n \n \n InfoSMS\n true\n https://www.example.com/sms/advanced\n \n \n This is a sample message (part 1)\n \n \n 320px-Depth_of_field_Cat.jpg\n image/jpeg\n https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg\n \n \n This is a sample message (part 2)\n \n \n B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F\n \n \n 720\n \n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n \n \n 41793026700\n \n \n 41793026700\n \n \n This is a sample message\n \n \n 320px-Depth_of_field_Cat.jpg\n image/jpeg\n https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg\n \n \n \n \n\n"
Send fully-featured message with group destination:
summary: Send fully-featured message with group destination
value: "\n BULK-ID-123-xyz\n \n \n \n \n \n \n 41793026728\n \n \n 41793026729\n \n \n \n \n InfoMMS\n \n \n This is a sample message (part 1)\n \n \n 320px-Depth_of_field_Cat.jpg\n image/jpeg\n https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Depth_of_field_Cat.jpg/320px-Depth_of_field_Cat.jpg\n \n \n This is a sample message (part 2)\n \n \n B44419205B27012D82F3BAD7B7EB37BAC884DBC91685390C3232D2191DC9D5EAF32F119D3530679F9B251AB689B4A60D7C2EB5A5EBB75C305367140D512E6B5D04200E7FFA5E84EAF37590C33F22B973514126755981CB170D86A7506CB38265280478A5B4EF2A7D11E9F24F286E7E315DFB1FF9BFEE08E036584074A1B76F097D9EC77E3FDD0FCC08362243E306F99F\n \n \n This is sample subject\n \n \n\n"
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ce93fb2fe51c89086b5064c5562c417f51be44b14f40606d3932f527a3fd02d9.SendResult'
examples:
Response for request with one destination:
summary: Response for request with one destination
value:
bulkId: '2034072219640523072'
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value:
bulkId: '2034072219640523073'
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
messageId: '2033247207850523791'
- to: '41793026834'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
messageId: '2033247207850523792'
Response for request with multiple group destinations:
summary: Response for request with multiple group destinations
value:
bulkId: '2034072219640523073'
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
messageId: '2033247207850523791'
- to: '41793026834'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message sent to next instance
messageId: '2033247207850523792'
application/xml:
schema:
$ref: '#/components/schemas/ce93fb2fe51c89086b5064c5562c417f51be44b14f40606d3932f527a3fd02d9.SendResult'
examples:
Response for request with one destination:
summary: Response for request with one destination
value: "\n 2034072219640523072\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n \n\n"
Response for request with multiple destinations:
summary: Response for request with multiple destinations
value: "\n 2034072219640523073\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 2033247207850523791\n \n \n 41793026834\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 2033247207850523792\n \n \n\n"
Response for request with multiple group destinations:
summary: Response for request with multiple group destinations
value: "\n 2034072219640523073\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 2033247207850523791\n \n \n 41793026834\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message sent to next instance\n \n 2033247207850523792\n \n \n\n"
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/8c0d480c425c41d88986e9a339e209ff8333292c731a8b410c00a517bc3a95fb.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/8c0d480c425c41d88986e9a339e209ff8333292c731a8b410c00a517bc3a95fb.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- mms:message:send
- mms:manage
x-deprecationInformation:
deprecation: 2024-04-26T10:00:00.00+0000
successorOperationId: send-mms-messages
x-additionalInfo:
markdown: '### Related
- [Buy numbers for sending and receiving messages](#platform-connectivity/numbers)
'
/mms/1/content:
post:
tags:
- channels
summary: Upload binary content
description: This method allows you to upload binary content that you can reference when sending MMS messages.
operationId: upload-binary
parameters:
- name: X-Content-Id
in: header
description: ContentId that uniquely identifies the binary content.
required: true
style: simple
explode: false
schema:
type: string
example: image_1_jpg
- name: X-Media-Type
in: header
description: Content mime type. Should be populated by standard MIME types (IANA media types).
required: true
style: simple
explode: false
schema:
type: string
example: image/jpeg
- name: X-Validity-Period-Minutes
in: header
description: 'Validity period in minutes after which the content will be deleted. (default: 69120 minutes).'
required: false
style: simple
explode: false
schema:
type: integer
format: int64
default: 69120
example: 70000
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
examples:
cURL:
summary: Upload jpeg image using curl
description: cURL
value: 'curl -L -X POST ''https://{baseUrl}/mms/1/content'' \
-H ''Authorization: {authorization}'' \
-H ''Content-Type: application/octet-stream'' \
-H ''Accept: application/json'' \
-H ''X-Media-Type: image/jpeg'' \
-H ''X-Content-Id: image_1_jpg'' \
--data-binary "@/path/to/image1.jpg"
'
Java:
summary: Upload jpeg image using Java
description: Java
value: "OkHttpClient client = new OkHttpClient().newBuilder().build();\nRequestBody body = RequestBody.create(new File(\"path/to/image1.jpg\"), MediaType.parse(\"image/jpeg\"));\nRequest request = new Request.Builder()\n .url(\"https://{baseUrl}/mms/1/content\")\n .method(\"POST\", body)\n .addHeader(\"Authorization\", \"{authorization}\")\n .addHeader(\"Content-Type\", \"application/octet-stream\")\n .addHeader(\"Accept\", \"application/json\")\n .addHeader(\"X-Content-Id\", \"image_1_jpg\")\n .addHeader(\"X-Media-Type\", \"image/jpeg\")\n .build();\nResponse response = client.newCall(request).execute();\n"
HTTP:
summary: Upload jpeg image using HTTP
description: HTTP
value: 'POST /mms/1/content HTTP/1.1
Host: {baseUrl}
Authorization: {authorization}
Content-Type: application/octet-stream
Accept: application/json
X-Content-Id: image_1_jpg
X-Media-Type: image/jpeg
(data)'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.UploadBinaryResult'
'400':
description: Bad request
content:
application/json:
schema:
type: object
examples:
Response example:
summary: Response example
value:
bulkId: ''
messages: []
errorMessage: Required request header 'X-Content-Id' for method parameter type String is not present
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- mms:manage
x-additionalInfo:
markdown: '### Related
- [Buy numbers for sending and receiving messages](#platform-connectivity/numbers)
'
/mms/1/inbox/reports:
get:
tags:
- channels
summary: Get inbound MMS messages
description: If for some reason you are unable to receive incoming MMS at the endpoint of your choice in real time, you can use this API call to fetch messages. Each request will return a batch of received messages - only once. The following API request will return only new messages that arrived since the last API request.
operationId: get-inbound-mms-messages
parameters:
- name: limit
in: query
description: Maximum number of delivery reports that will be returned.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 2
- name: applicationId
in: query
description: '[Application](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#application) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
example: ApplicationExample
- name: entityId
in: query
description: '[Entity](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#entity) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
example: EntityExample
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/62b589527d7474f21f086ddb07e8698e9fcfbbe16400c91718f1ab58d998c3f1.MMSMoReportResponse'
examples:
Response for single MO:
summary: Response for single MO
value:
results:
- messageId: '817790313235066447'
to: '25256'
from: '41793026727'
message: '{"mms_parts":[{"origin":"text","contentType":"text/plain; charset=utf-8","contentId":"content0","value":"Sample text"}],"userAgent":"motogstylus5g","priority":null,"subject":null}'
receivedAt: 2016-10-06T09:28:39.220+0000
mmsCount: 1
callbackData: Some custom data
price:
pricePerMessage: 0
currency: Euro
Response for MO sent to the group:
summary: Response for MO sent to the group
value:
results:
- messageId: '817790313235066447'
to: '25256'
from: '41793026727'
message: '{"mms_parts":[{"origin":"text","contentType":"text/plain; charset=utf-8","contentId":"content0","value":"Sample text"}],"userAgent":"motogstylus5g","priority":null,"subject":null}'
group:
- to: '25256'
- cc: '41793026888'
receivedAt: 2016-10-06T09:28:39.220+0000
mmsCount: 1
callbackData: Some custom data
price:
pricePerMessage: 0
currency: Euro
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- inbound-message:read
- mms:inbound-message:read
- mms:manage
x-additionalInfo:
markdown: '### Related
- [Buy numbers for sending and receiving messages](#platform-connectivity/numbers)
'
/mms/2/reports:
get:
tags:
- channels
summary: Get MMS delivery reports
description: If you are unable to receive real-time delivery reports towards your endpoint for various reasons, we offer you an API method to fetch batches of delivery reports to confirm whether specific messages have been delivered. Each request towards this endpoint will return batches of the latest delivery reports. Please note they will be returned only once.
externalDocs:
description: Learn more about MMS channel and use cases
url: https://www.infobip.com/docs/mms
operationId: get-outbound-mms-message-delivery-reports
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination address.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the message sent.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: Maximum number of delivery reports to be returned. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access reports for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
example: 1
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message.
required: false
style: form
explode: true
schema:
type: string
example: summersale
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.DeliveryReports'
examples:
Delivery reports:
summary: Delivery reports
value:
results:
- bulkId: '3746923784'
price:
pricePerMessage: 1
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
messageId: 43u2ih-6453jbh-897kfs90u2nj
sender: '441134960000'
sentAt: 2026-07-07T06:32:15.101+0000
doneAt: 2026-07-07T06:32:15.101+0000
messageCount: 3
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- mms:message:send
- mms:manage
/mms/1/reports:
get:
tags:
- channels
summary: Get outbound MMS message delivery reports
description: If you are unable to receive real-time delivery reports towards your endpoint for various reasons, we offer you an API method to fetch batches of delivery reports to confirm whether specific messages have been delivered. Each request towards this endpoint will return batches of the latest delivery reports. Please note they will be returned only once.
operationId: deprecated-get-outbound-mms-message-delivery-reports
parameters:
- name: bulkId
in: query
description: ID of bulk for which a delivery report is requested.
required: false
style: form
explode: true
schema:
type: string
example: BULK-ID-123-xyz
- name: messageId
in: query
description: ID of MMS for which a delivery report is requested.
required: false
style: form
explode: true
schema:
type: string
example: MESSAGE-ID-123-xyz
- name: limit
in: query
description: Maximum number of delivery reports that will be returned.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 2
- name: applicationId
in: query
description: '[Application](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#application) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
example: ApplicationExample
- name: entityId
in: query
description: '[Entity](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#entity) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
example: EntityExample
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.MmsReportResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- mms:message:send
- mms:manage
x-deprecationInformation:
deprecation: 2024-04-26T10:00:00.00+0000
sunset: 2026-06-01T00:00:00.00+0000
successorOperationId: get-outbound-mms-message-delivery-reports
/mms/2/logs:
get:
tags:
- channels
summary: Get MMS message logs
description: Use this method for displaying logs for example in the user interface. Available are the logs for the last 48 hours.
operationId: get-outbound-mms-message-logs
parameters:
- name: mcc
in: query
description: Filter logs by mobile country code.
required: false
style: form
explode: true
schema:
type: string
description: Filter logs by mobile country code.
- name: mnc
in: query
description: Filter logs by mobile network code.
required: false
style: form
explode: true
schema:
type: string
description: Filter logs by mobile network code.
- name: sender
in: query
description: The sender ID which can be alphanumeric or numeric.
required: false
style: form
explode: true
schema:
type: string
- name: destination
in: query
description: Message destination address.
required: false
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: BULK-ID-123-xyz
- name: messageId
in: query
description: Unique message ID for which a log is requested. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: MESSAGE-ID-123-xyz,MESSAGE-ID-124-xyz
- name: generalStatus
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.MessageGeneralStatus'
- name: sentSince
in: query
description: 'The logs will only include messages sent after this date. Use it alongside sentUntil to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: '2020-02-22T17:42:05.390+01:00'
- name: sentUntil
in: query
description: 'The logs will only include messages sent before this date. Use it alongside sentSince to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: 'The logs will only include messages sent before this date. Use it alongside sentSince to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
example: '2020-02-23T17:42:05.39+01:00'
example: '2020-02-23T17:42:05.390+01:00'
- name: limit
in: query
description: Maximum number of messages to include in logs. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access logs for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message. May contain multiple comma-separated values.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: summersale
- name: useCursor
in: query
description: Flag used to enable cursor-based pagination. When set to true, the system will use the cursor to fetch the next set of logs.
required: false
style: form
explode: true
schema:
type: boolean
- name: cursor
in: query
description: Value which represents the current position in the data set. For the first request, this field shouldn't be defined. In subsequent requests, use the `nextCursor` value returned from the previous response to continue fetching data.
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.LogResponseMmsUnificationLogMmsOutboundContent'
examples:
Logs:
summary: Logs
value:
results:
- title: Message title
mccMnc: '22801'
sender: '441134960000'
destination: '441134960001'
bulkId: '3746923784'
messageId: 43u2ih-6453jbh-897kfs90u2nj
sentAt: 2026-07-07T06:32:15.966+0000
doneAt: 2026-07-07T06:32:15.966+0000
messageCount: 3
price:
pricePerMessage: 1
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
content:
title: Some title
messageSegments:
- text: Some text
type: TEXT
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- mms:manage
- mms:logs:read
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
/mms/1/logs:
get:
tags:
- channels
summary: Get outbound MMS message logs
description: Use this method for displaying logs for example in the user interface. Available are the logs for the last 48 hours and you can only retrieve maximum of 1000 logs per call. See [message delivery reports](#channels/mms/get-outbound-mms-message-delivery-reports) if your use case is to verify message delivery.
externalDocs:
description: Learn more about MMS channel and use cases
url: https://www.infobip.com/docs/mms
operationId: deprecated-get-outbound-mms-message-logs
parameters:
- name: from
in: query
description: The sender ID which can be alphanumeric or numeric.
required: false
style: form
explode: true
schema:
type: string
example: 10950
- name: to
in: query
description: Message destination address.
required: false
style: form
explode: true
schema:
type: string
example: 41793026727
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
required: false
style: form
explode: true
schema:
type: string
example: 3746923784
- name: messageId
in: query
description: Unique message ID for which a log is requested.
required: false
style: form
explode: true
schema:
type: string
example: 43u2ih-6453jbh-897kfs90u2nj
- name: generalStatus
in: query
description: Sent [message status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes).
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.GeneralStatus'
example: ACCEPTED
- name: sentSince
in: query
description: 'The logs will only include messages sent after this date. Use it together with sentUntil to return a time range or if you want to fetch more than 1000 logs allowed per call. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.'
required: false
style: form
explode: true
schema:
type: string
example: '2023-04-16T12:00:00.390Z'
- name: sentUntil
in: query
description: 'The logs will only include messages sent before this date. Use it together with sentBefore to return a time range or if you want to fetch more than 1000 logs allowed per call. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.'
required: false
style: form
explode: true
schema:
type: string
example: '2023-04-17T12:00:00.390Z'
- name: limit
in: query
description: Maximum number of messages to include in logs. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access logs for the last 48h. If you have more than 1000 logs in that period, you can retrieve remaining logs by using sentBefore and sentUntil.
required: false
style: form
explode: true
schema:
type: number
example: 100
- name: mcc
in: query
description: Mobile Country Code.
required: false
style: form
explode: true
schema:
type: string
example: 22801
- name: mnc
in: query
description: Mobile Network Code.
required: false
style: form
explode: true
schema:
type: string
example: 22823
- name: applicationId
in: query
description: The application used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: test-application
- name: entityId
in: query
description: The entity used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: test-entity
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/faad2f34157fead7bc36bdf18ea6d8be6674c0ceb93de05135894a2bf0f2aa1b.MMSMtLogsResponse'
examples:
Response example:
summary: Response example
value:
results:
- bulkId: '3746923784'
messageId: 43u2ih-6453jbh-897kfs90u2nj
to: To name
from: Company name
title: Message title
messageSegments:
- contentId: contentId
text: some text
- contentId: contentId
contentType: image/png
contentUrl: host.com/image.png
- contentId: contentId
text: some other text
sentAt: 2023-01-01T17:42:05.390+0100
doneAt: 2023-01-01T17:42:10.390+0100
mmsCount: 3
mccMnc: '22801'
price:
pricePerMessage: 1
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/8c0d480c425c41d88986e9a339e209ff8333292c731a8b410c00a517bc3a95fb.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- mms:logs:read
- mms:manage
x-deprecationInformation:
deprecation: 2024-04-26T10:00:00.00+0000
sunset: 2026-06-01T00:00:00.00+0000
successorOperationId: get-outbound-mms-message-logs
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
/calls/1/configurations:
get:
tags:
- channels
summary: Get calls configurations
description: Get calls configurations.
operationId: get-calls-configurations
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.CallsConfigurationPage'
examples:
List of calls configurations:
summary: List of calls configurations
value:
results:
- id: 63467c6e2885a5389ba11d80
name: Calls configuration
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create calls configuration
description: Create calls configuration.
operationId: create-calls-configuration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/87fdb606ad2c440ed89e04f515deb90150ccd79b7e43f8b50549f5895d6c3429.CallsConfigurationCreateRequest'
examples:
Request example:
summary: Request example
value:
id: 63467c6e2885a5389ba11d80
name: Calls configuration
required: true
responses:
'201':
description: Calls configuration created.
content:
application/json:
schema:
$ref: '#/components/schemas/87fdb606ad2c440ed89e04f515deb90150ccd79b7e43f8b50549f5895d6c3429.CallsConfigurationResponse'
examples:
Response example:
summary: Response example
value:
id: 63467c6e2885a5389ba11d80
name: Calls configuration
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/configurations/{callsConfigurationId}:
get:
tags:
- channels
summary: Get calls configuration
description: Get a single calls configuration.
operationId: get-calls-configuration
parameters:
- name: callsConfigurationId
in: path
description: Calls configuration ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/87fdb606ad2c440ed89e04f515deb90150ccd79b7e43f8b50549f5895d6c3429.CallsConfigurationResponse'
examples:
Response example:
summary: Response example
value:
id: 63467c6e2885a5389ba11d80
name: Calls configuration
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
put:
tags:
- channels
summary: Update calls configuration
description: Update calls configuration.
operationId: update-calls-configuration
parameters:
- name: callsConfigurationId
in: path
description: Calls configuration ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/87fdb606ad2c440ed89e04f515deb90150ccd79b7e43f8b50549f5895d6c3429.CallsConfigurationUpdateRequest'
examples:
Update request example:
summary: Update request example
value:
name: Calls configuration
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/87fdb606ad2c440ed89e04f515deb90150ccd79b7e43f8b50549f5895d6c3429.CallsConfigurationResponse'
examples:
Update response example:
summary: Update response example
value:
id: 63467c6e2885a5389ba11d80
name: Calls configuration
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete calls configuration
description: Delete calls configuration.
operationId: delete-calls-configuration
parameters:
- name: callsConfigurationId
in: path
description: Calls configuration ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/87fdb606ad2c440ed89e04f515deb90150ccd79b7e43f8b50549f5895d6c3429.CallsConfigurationResponse'
examples:
Delete response example:
summary: Delete response example
value:
id: 63467c6e2885a5389ba11d80
name: Calls configuration
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls:
get:
tags:
- channels
summary: Get calls
description: Get calls with pagination.
operationId: get-calls
parameters:
- name: type
in: query
description: Call endpoint type.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallEndpointType'
example: PHONE
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: from
in: query
description: Caller identifier.
required: false
style: form
explode: true
schema:
type: string
example: 44790123456
- name: to
in: query
description: Callee identifier.
required: false
style: form
explode: true
schema:
type: string
example: 44790987654
- name: direction
in: query
description: Call direction.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallDirection'
example: OUTBOUND
- name: status
in: query
description: Call state.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallState'
example: FINISHED
- name: startTimeAfter
in: query
description: 'Date and time for when the call has been created. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.125+0000
- name: conferenceId
in: query
description: Conference ID.
required: false
style: form
explode: true
schema:
type: string
example: 066675c6-0db6-0db9-b032-031964d09af4
- name: dialogId
in: query
description: Dialog ID.
required: false
style: form
explode: true
schema:
type: string
example: 6c73cbdc-c956-4bf5-a026-318236559167
- name: bulkId
in: query
description: Bulk ID.
required: false
style: form
explode: true
schema:
type: string
example: bde6deaa-23af-4340-aac7-f3fa063c4215
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallPage'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create call
description: Create an outbound call to a given endpoint.
operationId: create-call
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.CallRequest'
examples:
Basic call request:
summary: Basic call request
value:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
connectTimeout: 30
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
Call request to WEBRTC endpoint:
summary: Call request to WEBRTC endpoint
value:
endpoint:
type: WEBRTC
identity: Bob
displayName: Bob
from: '41793026834'
connectTimeout: 30
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
Call request to SIP endpoint:
summary: Call request to SIP endpoint
value:
endpoint:
type: SIP
username: username
from: '41793026834'
connectTimeout: 30
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
Call request to WEBSOCKET endpoint:
summary: Call request to WEBSOCKET endpoint
value:
endpoint:
type: WEBSOCKET
websocketEndpointConfigId: websocket-config-id
identifier: identifier
from: '41793026834'
connectTimeout: 30
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
Call request to VIBER endpoint:
summary: Call request to VIBER endpoint
value:
endpoint:
type: VIBER
phoneNumber: '41792036727'
from: '41793026834'
connectTimeout: 30
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
Advanced Call request:
summary: Advanced Call request
value:
endpoint:
type: VIBER
phoneNumber: '41792036727'
from: '41793026834'
connectTimeout: 30
recording:
recordingType: AUDIO
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
Call request with machine detection:
summary: Call request with machine detection
value:
endpoint:
type: VIBER
phoneNumber: '41792036727'
from: '41793026834'
connectTimeout: 30
recording:
recordingType: AUDIO
machineDetection:
enabled: true
maxDuration: 300
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
required: true
responses:
'201':
description: Call created.
content:
application/json:
schema:
$ref: '#/components/schemas/431fb79b0e816230968e14ba1e1c6fadb75cfde9cb3c381f4217b2777f48153f.Call'
examples:
PHONE call response:
summary: PHONE call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
WEBRTC call response:
summary: WEBRTC call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: WEBRTC
identity: Bob
displayName: Bob
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
SIP call response:
summary: SIP call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: SIP
username: username
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
VIBER call response:
summary: VIBER call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: VIBER
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
WHATSAPP call response:
summary: WHATSAPP call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: WHATSAPP
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Application not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 6
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}:
get:
tags:
- channels
summary: Get call
description: Get a single call.
operationId: get-call
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/431fb79b0e816230968e14ba1e1c6fadb75cfde9cb3c381f4217b2777f48153f.Call'
examples:
PHONE call response:
summary: PHONE call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
WEBRTC call response:
summary: WEBRTC call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: WEBRTC
identity: Bob
displayName: Bob
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
SIP call response:
summary: SIP call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: SIP
username: username
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
VIBER call response:
summary: VIBER call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: VIBER
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
WHATSAPP call response:
summary: WHATSAPP call response
value:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: WHATSAPP
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/history:
get:
tags:
- channels
summary: Get calls history
description: Get calls history with pagination. Calls history retention period is 5 days.
operationId: get-calls-history
parameters:
- name: type
in: query
description: Call endpoint type.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallEndpointType'
example: PHONE
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: from
in: query
description: Caller identifier.
required: false
style: form
explode: true
schema:
type: string
example: 44790123456
- name: to
in: query
description: Callee identifier.
required: false
style: form
explode: true
schema:
type: string
example: 44790987654
- name: direction
in: query
description: Call direction.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallDirection'
example: OUTBOUND
- name: status
in: query
description: Call state.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallState'
example: FINISHED
- name: startTimeAfter
in: query
description: 'Date and time for when the call has been created. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.125+0000
- name: conferenceId
in: query
description: Conference ID.
required: false
style: form
explode: true
schema:
type: string
example: 066675c6-0db6-0db9-b032-031964d09af4
- name: dialogId
in: query
description: Dialog ID.
required: false
style: form
explode: true
schema:
type: string
example: 6c73cbdc-c956-4bf5-a026-318236559167
- name: bulkId
in: query
description: Bulk ID.
required: false
style: form
explode: true
schema:
type: string
example: bde6deaa-23af-4340-aac7-f3fa063c4215
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallLogPage'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/history:
get:
tags:
- channels
summary: Get call history
description: Get a single call history. Call history retention period is 5 days.
operationId: get-call-history
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/431fb79b0e816230968e14ba1e1c6fadb75cfde9cb3c381f4217b2777f48153f.CallLog'
examples:
PHONE call response:
summary: PHONE call response
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: FINISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
ringDuration: 5
callsConfigurationIds:
- dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
conferenceIds:
- e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
duration: 25
customData:
key1: value1
key2: value2
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
WEBRTC call response:
summary: WEBRTC call response
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: WEBRTC
identity: Bob
displayName: Bob
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: FINISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
ringDuration: 5
callsConfigurationIds:
- dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
conferenceIds:
- e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
duration: 25
customData:
key1: value1
key2: value2
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
SIP call response:
summary: SIP call response
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: SIP
username: username
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: FINISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
ringDuration: 5
callsConfigurationIds:
- dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
conferenceIds:
- e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
duration: 25
customData:
key1: value1
key2: value2
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
VIBER call response:
summary: VIBER call response
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: VIBER
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: FINISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
ringDuration: 5
callsConfigurationIds:
- dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
conferenceIds:
- e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
duration: 25
customData:
key1: value1
key2: value2
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
WHATSAPP call response:
summary: WHATSAPP call response
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: WHATSAPP
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: FINISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
ringDuration: 5
callsConfigurationIds:
- dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
conferenceIds:
- e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
duration: 25
customData:
key1: value1
key2: value2
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/connect:
post:
tags:
- channels
summary: Connect calls
description: Connect calls in a conference.
operationId: connect-calls
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/707907921d4508c2925eddc2449f10db322ecc083be424f87c50fe97ccd8be40.ConnectRequest'
examples:
Connect request:
summary: Connect request
value:
callIds:
- d8d84155-3831-43fb-91c9-bb897149a79d
- 6539fcb4-4b2a-4ac9-a43a-d60807af29b0
- d6d6058c-5077-49f9-a030-2fc40e8ca195
Connect request with conference:
summary: Connect request with conference
value:
callIds:
- d8d84155-3831-43fb-91c9-bb897149a79d
- 6539fcb4-4b2a-4ac9-a43a-d60807af29b0
- d6d6058c-5077-49f9-a030-2fc40e8ca195
conferenceRequest:
name: Example conference
recording:
recordingType: AUDIO
conferenceComposition:
enabled: true
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
required: true
responses:
'200':
description: Calls connected.
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.Conference'
examples:
Conference response:
summary: Conference response
value:
id: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
participants: []
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: One or more calls not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/connect:
post:
tags:
- channels
summary: Connect with new call
description: Connect an existing call with a new call in a conference.
operationId: connect-with-new-call
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.ConnectWithNewCallRequest'
examples:
Connect with new call request:
summary: Connect with new call request
value:
callRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
connectOnEarlyMedia: false
Connect with new call and conference request:
summary: Connect with new call and conference request
value:
callRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
maxDuration: 300
connectOnEarlyMedia: false
conferenceRequest:
name: Example conference
recording:
recordingType: AUDIO
conferenceComposition:
enabled: true
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
required: true
responses:
'200':
description: Calls connected in the conference.
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.ConferenceAndCall'
examples:
Conference with new outbound call:
summary: Conference with new outbound call
value:
conference:
id: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
participants: []
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
call:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Call or application not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 6
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/send-ringing:
post:
tags:
- channels
summary: Send ringing
description: Send SIP ringtone to an unanswered inbound call.
operationId: send-ringing
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:receive
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/pre-answer:
post:
tags:
- channels
summary: Pre-answer
description: Pre-answer a call to handle early media.
operationId: pre-answer-call
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6665694460cb56ab854a173ada36805c85c7ec55584901d2f06225baf9b586cb.PublicPreAnswerRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:receive
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/answer:
post:
tags:
- channels
summary: Answer
description: Answer a call.
operationId: answer-call
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.AnswerRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:receive
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/hangup:
post:
tags:
- channels
summary: Hangup
description: Hang up a call.
operationId: hangup-call
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/74d8b21d2b740d37eba3fa2f7296b180343b1bcffffec58c82756c7c83775e15.PublicHangupRequest'
examples:
Basic hangup request example.:
summary: Basic hangup request example.
value: {}
Basic hangup request example with error code.:
summary: Basic hangup request example with error code.
value:
errorCode: NORMAL_HANGUP
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/431fb79b0e816230968e14ba1e1c6fadb75cfde9cb3c381f4217b2777f48153f.Call'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/play:
post:
tags:
- channels
summary: Play file
description: Play an audio file on a call.
operationId: call-play-file
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6665694460cb56ab854a173ada36805c85c7ec55584901d2f06225baf9b586cb.PublicPlayRequest'
examples:
Play audio from file:
summary: Play audio from file
value:
content:
fileId: 65f0b3d7c8b6a00001a2b3c4
type: FILE
Play audio from URL:
summary: Play audio from URL
value:
content:
fileUrl: https://example.com/example-audio.wav
type: URL
Play audio from TEXT:
summary: Play audio from TEXT
value:
content:
text: This is an example of text to speech
language: en
type: TEXT
Play TTY audio from TEXT:
summary: Play TTY audio from TEXT
value:
content:
text: This is a TTY example
type: TTY
Play audio in loop:
summary: Play audio in loop
value:
loopCount: 3
content:
fileUrl: https://example.com/example-audio.wav
type: URL
Play audio with offset and timeout:
summary: Play audio with offset and timeout
value:
timeout: 30000
offset: 5000
content:
fileId: 65f0b3d7c8b6a00001a2b3c4
type: FILE
Play audio with stop on DTMF option:
summary: Play audio with stop on DTMF option
value:
content:
fileId: 65f0b3d7c8b6a00001a2b3c4
type: FILE
stopOn:
terminator: '5'
type: DTMF
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/stop-play:
post:
tags:
- channels
summary: Stop playing file
description: Stop playing an audio file on a call.
operationId: call-stop-playing-file
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6665694460cb56ab854a173ada36805c85c7ec55584901d2f06225baf9b586cb.PublicStopPlayRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/say:
post:
tags:
- channels
summary: Say text
description: Say text on a call.
operationId: call-say-text
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.PublicSayRequest'
examples:
Basic say request example:
summary: Basic say request example
value:
text: This is an example of text to speech
language: en
Advanced say request example:
summary: Advanced say request example
value:
text: This is an advanced example of text to speech
language: en
speechRate: 1.5
loopCount: 2
preferences:
voiceGender: MALE
stopOn:
terminator: '#'
type: DTMF
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/send-dtmf:
post:
tags:
- channels
summary: Send DTMF
description: Send a DTMF on a call.
operationId: call-send-dtmf
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/94dad8b938c4159f751dc1ff0b70e7beab7409955ce0b31399dbe9488973d3a6.DtmfSendRequest'
examples:
Send DTMF with single digit:
summary: Send DTMF with single digit
value:
dtmf: '3'
Send DTMF with multiple digits:
summary: Send DTMF with multiple digits
value:
dtmf: 341#
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/capture/dtmf:
post:
tags:
- channels
summary: Capture DTMF
description: Capture a DTMF on a call.
operationId: call-capture-dtmf
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.DtmfCaptureRequest'
examples:
Capture DTMF request example:
summary: Capture DTMF request example
value:
maxLength: 4
timeout: 5000
terminator: '#'
digitTimeout: 3000
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/capture/speech:
post:
tags:
- channels
summary: Capture Speech
description: Capture speech on a call.
operationId: call-capture-speech
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.SpeechCaptureRequest'
examples:
Start speech capture request:
summary: Start speech capture request
value:
language: en-GB
timeout: 30
maxSilence: 3
keyPhrases:
- word
- phrase
customDictionary:
- custom
- word
advancedFormatting: true
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/start-transcription:
post:
tags:
- channels
summary: Start transcription
description: Start call transcription.
operationId: call-start-transcription
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.PublicStartTranscriptionRequest'
examples:
Start transcription request:
summary: Start transcription request
value:
transcription:
language: en-GB
sendInterimResults: true
customDictionary:
- custom
- word
advancedFormatting: true
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/stop-transcription:
post:
tags:
- channels
summary: Stop transcription
description: Stop call transcription.
operationId: call-stop-transcription
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/start-recording:
post:
tags:
- channels
summary: Start recording
description: Start a recording on a call.
operationId: call-start-recording
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.RecordingStartRequest'
examples:
Start audio recording:
summary: Start audio recording
value:
recording:
recordingType: AUDIO
Start audio recording with additional options:
summary: Start audio recording with additional options
value:
recording:
recordingType: AUDIO
maxSilence: 5
beep: true
maxDuration: 20
customData:
key1: value1
key2: value2
filePrefix: customFilename
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/stop-recording:
post:
tags:
- channels
summary: Stop recording
description: Stop a recording on a call.
operationId: call-stop-recording
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/start-media-stream:
post:
tags:
- channels
summary: Start streaming media
description: Start streaming media.
operationId: start-media-stream
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/08fdb52de63aac13de3ed81c2cf06532bc7e9a861dae97f83fafd7a6d53a779e.StartMediaStreamRequest'
examples:
Start media stream request example:
summary: Start media stream request example
value:
mediaStream:
audioProperties:
mediaStreamConfigId: 63467c6e2885a5389ba11d80
replaceMedia: false
multiChannel:
enabled: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/stop-media-stream:
post:
tags:
- channels
summary: Stop streaming media
description: Stop streaming media.
operationId: stop-media-stream
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/send-message:
post:
tags:
- channels
summary: Send message
description: Send a message to a specific WebRTC call leg.
operationId: call-send-message
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6665694460cb56ab854a173ada36805c85c7ec55584901d2f06225baf9b586cb.CallSendMessageRequest'
examples:
Send message to WebRTC endpoint:
summary: Send message to WebRTC endpoint
value:
message: This meeting will end in 5 minutes.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/application-transfer:
post:
tags:
- channels
summary: Request application transfer
description: Request application transfer.
operationId: application-transfer
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/be917819c3f3f7072f44fe3d7909e7b833fe4857710e7f5ab585df108ef1ed5b.ApplicationTransferRequest'
examples:
Application transfer request:
summary: Application transfer request
value:
destinationCallsConfigurationId: dc5942707c704551a00cd2ea
timeout: 20
Application transfer request with platform:
summary: Application transfer request with platform
value:
destinationCallsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
timeout: 20
Application transfer request with propagation options:
summary: Application transfer request with propagation options
value:
destinationCallsConfigurationId: dc5942707c704551a00cd2ea
timeout: 20
propagationOptions:
recordingTransferOptions:
continueCallRecording: true
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/application-transfer/{transferId}/accept:
post:
tags:
- channels
summary: Accept application transfer
description: Accept application transfer.
operationId: application-transfer-accept
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
- name: transferId
in: path
description: The unique identifier of a transfer, sent to the receiving application in an `ApplicationTransferRequestedEvent`.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:receive
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/calls/{callId}/application-transfer/{transferId}/reject:
post:
tags:
- channels
summary: Reject application transfer
description: Reject application transfer.
operationId: application-transfer-reject
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
- name: transferId
in: path
description: The unique identifier of a transfer, sent to the receiving application in an `ApplicationTransferRequestedEvent`.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:receive
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences:
get:
tags:
- channels
summary: Get conferences
description: Get conferences with pagination.
operationId: get-conferences
parameters:
- name: name
in: query
description: Conference name.
required: false
style: form
explode: true
schema:
type: string
example: Conference
- name: callId
in: query
description: Call ID.
required: false
style: form
explode: true
schema:
type: string
example: 066675c6-0db6-0db9-b032-031964d09af4
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: startTimeAfter
in: query
description: 'Date and time for when the conference has been created. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.125+0000
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.ConferencePage'
examples:
Conference page response.:
summary: Conference page response.
value:
results:
- id: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
participants: []
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create conference
description: Create a conference.
operationId: create-conference
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/707907921d4508c2925eddc2449f10db322ecc083be424f87c50fe97ccd8be40.ConferenceRequest'
examples:
Conference request:
summary: Conference request
value:
name: Example conference
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
Conference request with recording:
summary: Conference request with recording
value:
name: Example conference
recording:
recordingType: AUDIO
conferenceComposition:
enabled: true
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
required: true
responses:
'201':
description: Conference created.
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.Conference'
examples:
Conference response:
summary: Conference response
value:
id: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
participants: []
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Application not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 20
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}:
get:
tags:
- channels
summary: Get conference
description: Get a single conference.
operationId: get-conference
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.Conference'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
patch:
tags:
- channels
summary: Update all calls
description: Update all calls in a conference.
operationId: update-conference
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/02ec6d748bd9b366e5aeae1eaf03d6007ae57830d7d55344122f68a2478c9f84.UpdateRequest'
examples:
Mute all conference calls:
summary: Mute all conference calls
value:
muted: true
Deaf all conference calls:
summary: Deaf all conference calls
value:
deaf: true
Blind all conference calls:
summary: Blind all conference calls
value:
blind: true
Unmute and deaf all conference calls:
summary: Unmute and deaf all conference calls
value:
muted: false
deaf: true
Deaf and blind all conference calls (blinding applies only to WebRTC endpoints):
summary: Deaf and blind all conference calls (blinding applies only to WebRTC endpoints)
value:
deaf: true
blind: true
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/history:
get:
tags:
- channels
summary: Get conferences history
description: Get conferences history with pagination. Conferences history retention period is 5 days.
operationId: get-conferences-history
parameters:
- name: name
in: query
description: Conference name.
required: false
style: form
explode: true
schema:
type: string
example: Conference
- name: callId
in: query
description: Call ID.
required: false
style: form
explode: true
schema:
type: string
example: 066675c6-0db6-0db9-b032-031964d09af4
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: startTimeAfter
in: query
description: 'Date and time for when the conference has been created. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.125+0000
- name: endTimeBefore
in: query
description: 'Date and time for when the conference has been finished. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:26:45.125+0000
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.ConferenceLogPage'
examples:
Conference log page response.:
summary: Conference log page response.
value:
results:
- conferenceId: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
platform:
applicationId: 61c060db2675060027d8c7a6
startTime: 2026-01-15T11:57:30.000+0000
endTime: 2026-01-15T11:59:20.000+0000
duration: 110
sessions:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
joinTime: 2026-01-15T11:58:00.000+0000
leaveTime: 2026-01-15T11:59:00.000+0000
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
joinTime: 2026-01-15T11:57:30.000+0000
leaveTime: 2026-01-15T11:59:20.000+0000
recording:
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.000+0000
duration: 10
startTime: 2026-01-15T11:57:30.000+0000
endTime: 2026-01-15T11:59:20.000+0000
location: HOSTED
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
errorCode:
id: 10000
name: NORMAL_HANGUP
description: The call has ended with hangup initiated by caller, callee or API
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/history:
get:
tags:
- channels
summary: Get conference history
description: Get a single conference history. Conference history retention period is 5 days.
operationId: get-conference-history
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/707907921d4508c2925eddc2449f10db322ecc083be424f87c50fe97ccd8be40.ConferenceLogResponse'
examples:
Conference history log:
summary: Conference history log
value:
conferenceId: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
platform:
applicationId: 61c060db2675060027d8c7a6
startTime: 2026-01-15T11:57:30.000+0000
endTime: 2026-01-15T11:59:20.000+0000
duration: 110
sessions:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
joinTime: 2026-01-15T11:58:00.000+0000
leaveTime: 2026-01-15T11:59:00.000+0000
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
joinTime: 2026-01-15T11:57:30.000+0000
leaveTime: 2026-01-15T11:59:20.000+0000
recording:
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.000+0000
duration: 10
startTime: 2026-01-15T11:57:30.000+0000
endTime: 2026-01-15T11:59:20.000+0000
location: HOSTED
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
errorCode:
id: 10000
name: NORMAL_HANGUP
description: The call has ended with hangup initiated by caller, callee or API
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/call:
post:
tags:
- channels
summary: Add new call
description: Create a new outbound call and add it to a conference.
operationId: add-new-conference-call
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/707907921d4508c2925eddc2449f10db322ecc083be424f87c50fe97ccd8be40.AddNewCallRequest'
examples:
Add new call:
summary: Add new call
value:
callRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
connectOnEarlyMedia: false
Add new call and connect on early media:
summary: Add new call and connect on early media
value:
callRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
connectOnEarlyMedia: true
Add new call with a specific role:
summary: Add new call with a specific role
value:
callRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
connectOnEarlyMedia: false
role:
type: MONITOR
required: true
responses:
'200':
description: Call added.
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.ConferenceAndCall'
examples:
Add new call response example:
summary: Add new call response example
value:
conference:
id: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
name: Example conference
participants: []
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
call:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
to: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
startTime: 2026-01-15T11:59:30.000+0000
answerTime: 2026-01-15T11:59:35.000+0000
endTime: 2026-01-15T12:00:00.000+0000
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
customData:
key1: value1
key2: value2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Conference or application not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 6
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/call/{callId}:
put:
tags:
- channels
summary: Add existing call
description: Add an existing call to a conference.
operationId: add-existing-conference-call
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/707907921d4508c2925eddc2449f10db322ecc083be424f87c50fe97ccd8be40.AddExistingCallRequest'
examples:
Add existing call:
summary: Add existing call
value:
connectOnEarlyMedia: false
Add existing call and connect on early media:
summary: Add existing call and connect on early media
value:
connectOnEarlyMedia: true
Add existing call with a specific role:
summary: Add existing call with a specific role
value:
connectOnEarlyMedia: false
role:
type: MONITOR
responses:
'200':
description: Call added.
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.Conference'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Conference or call not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Remove call
description: Remove a call from a conference. The call stays active after this action.
operationId: remove-conference-call
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Conference or call not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
patch:
tags:
- channels
summary: Update call
description: Update a call in a conference.
operationId: update-conference-call
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/02ec6d748bd9b366e5aeae1eaf03d6007ae57830d7d55344122f68a2478c9f84.UpdateCallRequest'
examples:
Mute single conference call:
summary: Mute single conference call
value:
muted: true
Deaf single conference call:
summary: Deaf single conference call
value:
deaf: true
Unmute and deaf single conference call:
summary: Unmute and deaf single conference call
value:
muted: false
deaf: true
Blind single conference call:
summary: Blind single conference call
value:
blind: true
Change role inside the conference:
summary: Change role inside the conference
value:
role:
type: MONITOR
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Conference or call not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/hangup:
post:
tags:
- channels
summary: Hangup conference
description: Hang up a conference. This action also hangs up all calls in the conference.
operationId: hangup-conference
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/c18e27d419b307552daa9403b0085ee796da1a5e57e2a4e6fb73f406471574fc.Conference'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/play:
post:
tags:
- channels
summary: Play file
description: Play an audio file on a conference.
operationId: conference-play-file
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4811a3a9108d5f90b8934012403f954f20270c436bdecbc318a80214cf54fc02.ConferencePlayRequest'
examples:
Play audio from file:
summary: Play audio from file
value:
content:
fileId: 218eceba-c044-430d-9f26-8f1a7f0g2d03
type: FILE
Play audio from URL:
summary: Play audio from URL
value:
content:
fileUrl: https://www.example.com/file.wav
type: URL
Play audio in loop:
summary: Play audio in loop
value:
loopCount: 3
content:
fileUrl: https://www.example.com/file.wav
type: URL
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/stop-play:
post:
tags:
- channels
summary: Stop playing file
description: Stop playing an audio file on a conference.
operationId: conference-stop-playing-file
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/say:
post:
tags:
- channels
summary: Say text
description: Say text on a conference.
operationId: conference-say-text
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4811a3a9108d5f90b8934012403f954f20270c436bdecbc318a80214cf54fc02.ConferenceSayRequest'
examples:
Say request:
summary: Say request
value:
text: Hello world
language: en
Say request with additional options:
summary: Say request with additional options
value:
text: Hello world
language: en
speechRate: 1.2
loopCount: 3
preferences:
voiceGender: FEMALE
voiceName: Joanna
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/start-recording:
post:
tags:
- channels
summary: Start recording
description: Start recording a conference.
operationId: conference-start-recording
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4811a3a9108d5f90b8934012403f954f20270c436bdecbc318a80214cf54fc02.ConferenceRecordingRequest'
examples:
Start recording request:
summary: Start recording request
value:
recordingType: AUDIO_AND_VIDEO
Start recording request with composition:
summary: Start recording request with composition
value:
recordingType: AUDIO
conferenceComposition:
enabled: true
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/stop-recording:
post:
tags:
- channels
summary: Stop recording
description: Stop recording a conference.
operationId: conference-stop-recording
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/broadcast-webrtc-text:
post:
tags:
- channels
summary: Broadcast text
description: Broadcasts a text message to conference WebRTC participants with open data channel.
operationId: conference-broadcast-webrtc-text
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4811a3a9108d5f90b8934012403f954f20270c436bdecbc318a80214cf54fc02.ConferenceBroadcastWebrtcTextRequest'
examples:
Conference broadcast WebRTC text request:
summary: Conference broadcast WebRTC text request
value:
text: This meeting will end in 5 minutes.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-deprecationInformation:
deprecation: 2025-11-06T12:00:00.000+0000
sunset: 2026-01-11T12:00:00.000+0000
successorOperationId: conference-send-message
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/conferences/{conferenceId}/send-message:
post:
tags:
- channels
summary: Send message
description: Send a message to all WebRTC participants in a conference.
operationId: conference-send-message
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4811a3a9108d5f90b8934012403f954f20270c436bdecbc318a80214cf54fc02.ConferenceSendMessageRequest'
examples:
Send a message to all WebRTC participants in a conference:
summary: Send a message to all WebRTC participants in a conference
value:
message: This meeting will end in 5 minutes.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs:
get:
tags:
- channels
summary: Get dialogs
description: Get dialogs with pagination.
operationId: get-dialogs
parameters:
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: state
in: query
description: Dialog state.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.PublicDialogState'
example: ESTABLISHED
- name: parentCallId
in: query
description: Parent call ID.
required: false
style: form
explode: true
schema:
type: string
example: 066675c6-0db6-0db9-b032-031964d09af4
- name: childCallId
in: query
description: Child call ID.
required: false
style: form
explode: true
schema:
type: string
example: 072675c6-3db6-0fb9-b632-031264d09ck2
- name: startTimeAfter
in: query
description: 'Date and time for when the dialog has been created. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.125+0000
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.DialogPage'
examples:
Dialog page response.:
summary: Dialog page response.
value:
results:
- id: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
state: ESTABLISHED
startTime: 2026-01-15T12:00:00.000+0000
establishTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
parentCall:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
state: ESTABLISHED
media:
audio:
muted: false
deaf: false
video:
camera: false
screenShare: false
blind: false
startTime: 2026-01-15T12:00:00.000+0000
answerTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
ringDuration: 2
platform:
applicationId: 61c060db2675060027d8c7a6
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
childCall:
id: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
media:
audio:
muted: false
deaf: false
video:
camera: false
screenShare: false
blind: false
startTime: 2026-01-15T12:00:00.000+0000
answerTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
ringDuration: 2
platform:
applicationId: 61c060db2675060027d8c7a6
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create dialog
description: Create a dialog.
operationId: create-dialog
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogRequest'
examples:
Dialog request:
summary: Dialog request
value:
parentCallId: d8d84155-3831-43fb-91c9-10b5a8d628a0
childCallRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
connectTimeout: 60
machineDetection:
enabled: true
customData:
key1: value1
key2: value2
recording:
recordingType: AUDIO
dialogComposition:
enabled: false
maxDuration: 3600
propagationOptions:
childCallHangup: false
required: true
responses:
'201':
description: Dialog created.
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogResponse'
examples:
Created dialog response:
summary: Created dialog response
value:
id: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
state: ESTABLISHED
startTime: 2026-01-15T12:00:00.000+0000
establishTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
parentCall:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
state: ESTABLISHED
media:
audio:
muted: false
deaf: false
video:
camera: false
screenShare: false
blind: false
startTime: 2026-01-15T12:00:00.000+0000
answerTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
ringDuration: 2
platform:
applicationId: 61c060db2675060027d8c7a6
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
childCall:
id: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
media:
audio:
muted: false
deaf: false
video:
camera: false
screenShare: false
blind: false
startTime: 2026-01-15T12:00:00.000+0000
answerTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
ringDuration: 2
platform:
applicationId: 61c060db2675060027d8c7a6
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Application not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 20
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/parent-call/{parentCallId}/child-call/{childCallId}:
post:
tags:
- channels
summary: Create dialog with existing calls
description: Create a dialog with existing calls.
operationId: create-dialog-with-existing-calls
parameters:
- name: parentCallId
in: path
description: Call ID of the parent call to be connected in a dialog.
required: true
style: simple
explode: false
schema:
type: string
example: 126f327b-dd4e-456d-8a10-1cb78a23bc8a
- name: childCallId
in: path
description: Call ID of the child call to be connected in a dialog. Needs to have been created using [create method](#create-call) with `parentCallId` parameter equal to the parent call ID above.
required: true
style: simple
explode: false
schema:
type: string
example: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogWithExistingCallsRequest'
examples:
Dialog with existing call request:
summary: Dialog with existing call request
value:
recording:
recordingType: AUDIO
dialogComposition:
enabled: false
customData:
property1: value1
string: string
maxDuration: 28800
propagationOptions:
childCallHangup: true
childCallRinging: false
ringbackGeneration:
enabled: false
required: true
responses:
'201':
description: Dialog created.
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Application not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 20
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}:
get:
tags:
- channels
summary: Get dialog
description: Get a single dialog.
operationId: get-dialog
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
example: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogResponse'
examples:
Dialog response:
summary: Dialog response
value:
id: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
state: ESTABLISHED
startTime: 2026-01-15T12:00:00.000+0000
establishTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
parentCall:
id: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
state: ESTABLISHED
media:
audio:
muted: false
deaf: false
video:
camera: false
screenShare: false
blind: false
startTime: 2026-01-15T12:00:00.000+0000
answerTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
ringDuration: 2
platform:
applicationId: 61c060db2675060027d8c7a6
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
childCall:
id: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41792036727'
direction: OUTBOUND
state: ESTABLISHED
media:
audio:
muted: false
deaf: false
video:
camera: false
screenShare: false
blind: false
startTime: 2026-01-15T12:00:00.000+0000
answerTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
ringDuration: 2
platform:
applicationId: 61c060db2675060027d8c7a6
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/history:
get:
tags:
- channels
summary: Get dialogs history
description: Get dialogs history with pagination. Dialogs history retention period is 5 days.
operationId: get-dialogs-history
parameters:
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: state
in: query
description: Dialog state.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.PublicDialogState'
example: ESTABLISHED
- name: parentCallId
in: query
description: Parent call ID.
required: false
style: form
explode: true
schema:
type: string
example: 066675c6-0db6-0db9-b032-031964d09af4
- name: childCallId
in: query
description: Child call ID.
required: false
style: form
explode: true
schema:
type: string
example: 072675c6-3db6-0fb9-b632-031264d09ck2
- name: startTimeAfter
in: query
description: 'Date and time for when the dialog has been created. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.125+0000
- name: endTimeBefore
in: query
description: 'Date and time for when the dialog has been finished. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:26:45.125+0000
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.DialogLogPage'
examples:
Dialog log page response.:
summary: Dialog log page response.
value:
results:
- dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
state: ESTABLISHED
startTime: 2026-01-15T12:00:00.000+0000
establishTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
parentCallId: d8d84155-3831-43fb-91c9-10b5a8d628a0
childCallId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
duration: 60
recording:
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.000+0000
duration: 10
startTime: 2026-01-15T11:57:30.000+0000
endTime: 2026-01-15T11:59:20.000+0000
location: SFTP
sftpUploadStatus: UPLOADED
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
errorCode:
id: 10000
name: NORMAL_HANGUP
description: The call has ended with hangup initiated by caller, callee or API
hangupSource: CHILD_ENDPOINT
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/history:
get:
tags:
- channels
summary: Get dialog history
description: Get a single dialog history. Dialog history retention period is 5 days.
operationId: get-dialog-history
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
example: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogLogResponse'
examples:
Dialog log response:
summary: Dialog log response
value:
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
state: ESTABLISHED
startTime: 2026-01-15T12:00:00.000+0000
establishTime: 2026-01-15T12:00:02.000+0000
endTime: 2026-01-15T12:01:00.000+0000
parentCallId: d8d84155-3831-43fb-91c9-10b5a8d628a0
childCallId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
duration: 60
recording:
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.000+0000
duration: 10
startTime: 2026-01-15T11:57:30.000+0000
endTime: 2026-01-15T11:59:20.000+0000
location: SFTP
sftpUploadStatus: UPLOADED
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
errorCode:
id: 10000
name: NORMAL_HANGUP
description: The call has ended with hangup initiated by caller, callee or API
hangupSource: CHILD_ENDPOINT
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/hangup:
post:
tags:
- channels
summary: Hangup dialog
description: Hang up a dialog. This action also hangs up all calls in the dialog.
operationId: hangup-dialog
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/play:
post:
tags:
- channels
summary: Play file
description: Play an audio file on a dialog.
operationId: dialog-play-file
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/14b5f31f4f292db4a32c4e61928f9a47f8ff4c0a1c06a38af2c29ef9ca05095d.DialogPlayRequest'
examples:
Play audio from file:
summary: Play audio from file
value:
content:
fileId: 65f0b3d7c8b6a00001a2b3c4
type: FILE
Play audio from URL:
summary: Play audio from URL
value:
content:
fileUrl: https://example.com/example-audio.wav
type: URL
Play audio in loop:
summary: Play audio in loop
value:
loopCount: 3
content:
fileUrl: https://example.com/example-audio.wav
type: URL
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/say:
post:
tags:
- channels
summary: Say text
description: Say text on a dialog.
operationId: dialog-say-text
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/14b5f31f4f292db4a32c4e61928f9a47f8ff4c0a1c06a38af2c29ef9ca05095d.DialogSayRequest'
examples:
Simple say request:
summary: Simple say request
value:
text: Hello world
language: en
Say request with additional options:
summary: Say request with additional options
value:
text: Hello world
language: en
speechRate: 1.2
loopCount: 3
preferences:
voiceGender: FEMALE
voiceName: Joanna
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/stop-play:
post:
tags:
- channels
summary: Stop playing file
description: Stop playing an audio file on a dialog.
operationId: dialog-stop-playing-file
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/start-recording:
post:
tags:
- channels
summary: Start recording
description: Start recording a dialog.
operationId: dialog-start-recording
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/14b5f31f4f292db4a32c4e61928f9a47f8ff4c0a1c06a38af2c29ef9ca05095d.DialogRecordingRequest'
examples:
Request dialog recording.:
summary: Request dialog recording.
value:
recordingType: AUDIO_AND_VIDEO
dialogComposition:
enabled: true
customData:
key: value
filePrefix: customFilename
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/stop-recording:
post:
tags:
- channels
summary: Stop recording
description: Stop recording a dialog.
operationId: dialog-stop-recording
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:record
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/broadcast-webrtc-text:
post:
tags:
- channels
summary: Broadcast text
description: Broadcasts a text message to dialog WebRTC call legs with open data channel.
operationId: dialog-broadcast-webrtc-text
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/14b5f31f4f292db4a32c4e61928f9a47f8ff4c0a1c06a38af2c29ef9ca05095d.DialogBroadcastWebrtcTextRequest'
examples:
Broadcast text to dialog WebRTC call legs with open data channel.:
summary: Broadcast text to dialog WebRTC call legs with open data channel.
value:
text: This dialog will end in 5 minutes.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-deprecationInformation:
deprecation: 2025-11-06T12:00:00.000+0000
sunset: 2026-01-11T12:00:00.000+0000
successorOperationId: dialog-send-message
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/send-message:
post:
tags:
- channels
summary: Send message
description: Send a message to all WebRTC call legs in a dialog.
operationId: dialog-send-message
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/14b5f31f4f292db4a32c4e61928f9a47f8ff4c0a1c06a38af2c29ef9ca05095d.DialogSendMessageRequest'
examples:
Send a message to all WebRTC call legs in a dialog:
summary: Send a message to all WebRTC call legs in a dialog
value:
message: This meeting will end in 5 minutes.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/transfer/accept:
post:
tags:
- channels
summary: Dialog transfer accept
description: Accepts a dialog transfer request.
operationId: dialog-transfer-accept
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/14b5f31f4f292db4a32c4e61928f9a47f8ff4c0a1c06a38af2c29ef9ca05095d.DialogAcceptTransferRequest'
examples:
Accept transfer request:
summary: Accept transfer request
value:
targetCallRequest:
endpoint:
type: PHONE
phoneNumber: '41792036727'
from: '41793026834'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5fc49137a7b003ca1d8c4957601417b8ed884356b7fbc49afe416dd5c098a0bd.DialogResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 6
numberOfTimeUnits: 0
timeUnit: s
/calls/1/dialogs/{dialogId}/transfer/reject:
post:
tags:
- channels
summary: Dialog transfer reject
description: Rejects a dialog transfer request.
operationId: dialog-transfer-reject
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:receive
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/sip-trunks:
get:
tags:
- channels
summary: Get SIP trunks
description: Get SIP trunks with pagination.
operationId: get-sip-trunks
parameters:
- name: name
in: query
description: SIP trunk name.
required: false
style: form
explode: true
schema:
type: string
example: My SIP trunk
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.SipTrunkPage'
examples:
SIP trunk page response.:
summary: SIP trunk page response.
value:
results:
- id: 62eb6ff07b18cc6cdf5cf001
type: STATIC
name: Static SIP Trunk
location: NEW_YORK
tls: false
codecs:
- PCMU
- PCMA
dtmf: INBAND
fax: T38
numberFormat: US_NATIONAL
internationalCallsAllowed: false
channelLimit: 10
anonymization: REMOTE_PARTY_ID
billingPackage:
packageType: UNLIMITED
countryCode: USA
addressId: '562949953421333'
sbcHosts:
primary:
- 111.111.111.111:5060
backup:
- 222.222.222.222:5060
subnets:
- 11.22.33.44/24
sipOptions:
enabled: false
sourceHosts:
- 10.10.10.10
destinationHosts:
- 100.100.100.100:5060
- my.destination.com
- my.destination.com:5060
strategy: ROUND_ROBIN
- id: 62eb6ff07b18cc6cdf5cf001
type: REGISTERED
name: Registered SIP Trunk
location: SAO_PAULO
tls: true
codecs:
- G729
dtmf: RFC2833
fax: NONE
numberFormat: E164
internationalCallsAllowed: true
channelLimit: 999
anonymization: PREFERRED_IDENTITY
billingPackage:
packageType: METERED
sbcHosts:
primary:
- 111.111.111.111:5061
backup:
- 222.222.222.222:5061
subnets:
- 11.22.33.44/24
username: 426c8402-691c-11ee-8c99-0242ac120002
inviteAuthentication: true
paging:
page: 0
size: 2
totalPages: 1
totalResults: 2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create SIP trunk
description: Create a SIP trunk. Fields not sent in request body will take default values. This operation is asynchronous. The SIP trunk will be created in the background.
operationId: create-sip-trunk
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6423f137d264daaaab4ca521d6dfeb19cab29b6b25c3d2da0c1c3fb475a5e829.SipTrunkRequest'
examples:
Static SIP trunk:
summary: Static SIP trunk
value:
type: STATIC
name: Static SIP trunk
location: NEW_YORK
internationalCallsAllowed: false
channelLimit: 10
billingPackage:
packageType: UNLIMITED
countryCode: USA
addressId: '562949953421333'
tls: false
codecs:
- PCMU
- PCMA
dtmf: INBAND
fax: T38
numberFormat: US_NATIONAL
anonymization: REMOTE_PARTY_ID
sourceHosts:
- 10.10.10.10
destinationHosts:
- 100.100.100.101:5060
- my.destination.com
- my.destination.com:5060
strategy: ROUND_ROBIN
sipOptions:
enabled: false
Registered SIP trunk:
summary: Registered SIP trunk
value:
type: REGISTERED
name: Registered SIP trunk
location: SAO_PAULO
internationalCallsAllowed: true
channelLimit: 999
billingPackage:
packageType: METERED
tls: true
codecs:
- G729
dtmf: RFC2833
fax: NONE
numberFormat: E164
anonymization: PREFERRED_IDENTITY
inviteAuthentication: true
Freshworks Provider SIP trunk:
summary: Freshworks Provider SIP trunk
value:
type: PROVIDER
name: Freshworks Provider SIP trunk
location: SAO_PAULO
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
provider:
accountSid: '223344'
sipDomain: 123456-sip.domain.com
type: FRESHWORKS
Genesys Cloud Provider SIP trunk:
summary: Genesys Cloud Provider SIP trunk
value:
type: PROVIDER
name: Genesys Provider SIP trunk
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
tls: true
provider:
region: NA_US_EAST_1
type: GENESYS_CLOUD
Cisco Webex Provider SIP trunk:
summary: Cisco Webex Provider SIP trunk
value:
type: PROVIDER
name: Cisco Webex SIP trunk
location: NEW_YORK
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
provider:
ciscoUUID: b48b3fdd-d0e4-4da6-b350-58600ec1ffec
type: CISCO_WEBEX
OpenAI Realtime Provider SIP trunk:
summary: OpenAI Realtime Provider SIP trunk
value:
type: PROVIDER
name: OpenAI Realtime SIP trunk
location: FRANKFURT
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
provider:
projectId: proj_123456
type: OPENAI_REALTIME
required: true
responses:
'202':
description: Create SIP trunk request accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.CreateSipTrunkResponse'
examples:
Static SIP trunk:
summary: Static SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: STATIC
name: Static SIP Trunk
location: NEW_YORK
internationalCallsAllowed: false
channelLimit: 10
billingPackage:
packageType: UNLIMITED
countryCode: USA
addressId: '562949953421333'
sbcHosts:
primary:
- 111.111.111.111:5060
backup:
- 222.222.222.222:5060
subnets:
- 11.22.33.44/24
tls: false
codecs:
- PCMU
- PCMA
dtmf: INBAND
fax: T38
numberFormat: US_NATIONAL
anonymization: REMOTE_PARTY_ID
sourceHosts:
- 10.10.10.10
destinationHosts:
- 100.100.100.100:5060
- my.destination.com
- my.destination.com:5060
strategy: ROUND_ROBIN
sipOptions:
enabled: false
Registered SIP trunk:
summary: Registered SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: REGISTERED
name: Registered SIP Trunk
location: SAO_PAULO
internationalCallsAllowed: true
channelLimit: 999
billingPackage:
packageType: METERED
sbcHosts:
primary:
- 111.111.111.111:5061
backup:
- 222.222.222.222:5061
subnets:
- 11.22.33.44/24
tls: true
codecs:
- G729
dtmf: RFC2833
fax: NONE
numberFormat: E164
anonymization: PREFERRED_IDENTITY
username: 426c8402-691c-11ee-8c99-0242ac120002
password: fkZ1921tM87
inviteAuthentication: true
Freshworks Provider SIP trunk:
summary: Freshworks Provider SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: PROVIDER
name: Freshworks Provider SIP trunk
location: FRANKFURT
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
sbcHosts:
primary:
- 111.111.111.111:5061
backup:
- 222.222.222.222:5061
subnets:
- 11.22.33.44/24
provider:
accountSid: '223344'
sipDomain: 123456-sip.domain.com
type: FRESHWORKS
Genesys Cloud Provider SIP trunk:
summary: Genesys Cloud Provider SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: PROVIDER
name: Genesys Provider SIP trunk
location: NEW_YORK
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
sbcHosts:
primary:
- 111.111.111.111:5061
backup:
- 222.222.222.222:5061
provider:
region: NA_US_EAST_1
outboundTerminationFQDN: b48b3fdd-d0e4-4da6-b350-58600ec1ffec
inboundTerminationIdentifier: b48b3fdd-d0e4-4da6-b350-58600ec1ffec
type: GENESYS_CLOUD
Cisco Webex Provider SIP trunk:
summary: Cisco Webex Provider SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: PROVIDER
name: Cisco Webex SIP trunk
location: NEW_YORK
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
provider:
ciscoUUID: b48b3fdd-d0e4-4da6-b350-58600ec1ffec
type: CISCO_WEBEX
OpenAI Realtime Provider SIP trunk:
summary: OpenAI Realtime Provider SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: PROVIDER
name: OpenAI Realtime SIP trunk
location: FRANKFURT
internationalCallsAllowed: true
channelLimit: 10
billingPackage:
packageType: METERED
provider:
projectId: proj_123456
type: OPENAI_REALTIME
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/sip-trunks/{sipTrunkId}:
get:
tags:
- channels
summary: Get SIP trunk
description: Get a single SIP trunk.
operationId: get-sip-trunk
parameters:
- name: sipTrunkId
in: path
description: SIP trunk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.SipTrunkResponse'
examples:
Static SIP trunk:
summary: Static SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: STATIC
name: Static SIP Trunk
location: NEW_YORK
tls: false
codecs:
- PCMU
- PCMA
dtmf: INBAND
fax: T38
numberFormat: US_NATIONAL
internationalCallsAllowed: false
channelLimit: 10
anonymization: REMOTE_PARTY_ID
billingPackage:
packageType: UNLIMITED
countryCode: USA
addressId: '562949953421333'
sbcHosts:
primary:
- 111.111.111.111:5060
backup:
- 222.222.222.222:5060
subnets:
- 11.22.33.44/24
sipOptions:
enabled: false
sourceHosts:
- 10.10.10.10
destinationHosts:
- 100.100.100.100:5060
- my.destination.com
- my.destination.com:5060
strategy: ROUND_ROBIN
Registered SIP trunk:
summary: Registered SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: REGISTERED
name: Registered SIP Trunk
location: SAO_PAULO
tls: true
codecs:
- G729
dtmf: RFC2833
fax: NONE
numberFormat: E164
internationalCallsAllowed: true
channelLimit: 999
anonymization: PREFERRED_IDENTITY
billingPackage:
packageType: METERED
sbcHosts:
primary:
- 111.111.111.111:5061
backup:
- 222.222.222.222:5061
subnets:
- 11.22.33.44/24
username: 426c8402-691c-11ee-8c99-0242ac120002
inviteAuthentication: true
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
put:
tags:
- channels
summary: Update SIP trunk
description: Update a SIP trunk. Fields not sent in request body will take default values and overwrite the existing ones. This operation is asynchronous. The SIP trunk will be updated in the background.
operationId: update-sip-trunk
parameters:
- name: sipTrunkId
in: path
description: Sip Trunk ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6423f137d264daaaab4ca521d6dfeb19cab29b6b25c3d2da0c1c3fb475a5e829.SipTrunkUpdateRequest'
examples:
Static SIP trunk:
summary: Static SIP trunk
value:
type: STATIC
name: Static SIP trunk
internationalCallsAllowed: false
channelLimit: 10
sourceHosts:
- 10.10.10.10
destinationHosts:
- 100.100.100.101:5060
- my.destination.com
- my.destination.com:5060
codecs:
- PCMA
- PCMU
dtmf: INBAND
fax: T38
anonymization: REMOTE_PARTY_ID
numberFormat: US_NATIONAL
sipOptions:
enabled: false
Registered SIP trunk:
summary: Registered SIP trunk
value:
type: REGISTERED
name: Registered SIP trunk
internationalCallsAllowed: true
channelLimit: 999
inviteAuthentication: true
codecs:
- G729
dtmf: RFC2833
fax: NONE
anonymization: PREFERRED_IDENTITY
numberFormat: E164
required: true
responses:
'202':
description: Update SIP trunk request accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.SipTrunkResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
delete:
tags:
- channels
summary: Delete SIP trunk
description: Delete a SIP trunk. This operation is asynchronous. The SIP trunk will be deleted in the background.
operationId: delete-sip-trunk
parameters:
- name: sipTrunkId
in: path
description: SIP trunk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'202':
description: Delete SIP trunk request accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.SipTrunkResponse'
examples:
Static SIP trunk:
summary: Static SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: STATIC
name: Static SIP Trunk
location: NEW_YORK
tls: false
codecs:
- PCMU
- PCMA
dtmf: INBAND
fax: T38
numberFormat: US_NATIONAL
internationalCallsAllowed: false
channelLimit: 10
anonymization: REMOTE_PARTY_ID
billingPackage:
packageType: UNLIMITED
countryCode: USA
addressId: '562949953421333'
sbcHosts:
primary:
- 111.111.111.111:5060
backup:
- 222.222.222.222:5060
subnets:
- 11.22.33.44/24
sipOptions:
enabled: false
sourceHosts:
- 10.10.10.10
destinationHosts:
- 100.100.100.100:5060
- my.destination.com
- my.destination.com:5060
strategy: ROUND_ROBIN
Registered SIP trunk:
summary: Registered SIP trunk
value:
id: 62eb6ff07b18cc6cdf5cf001
type: REGISTERED
name: Registered SIP Trunk
location: SAO_PAULO
tls: true
codecs:
- G729
dtmf: RFC2833
fax: NONE
numberFormat: E164
internationalCallsAllowed: true
channelLimit: 999
anonymization: PREFERRED_IDENTITY
billingPackage:
packageType: METERED
sbcHosts:
primary:
- 111.111.111.111:5061
backup:
- 222.222.222.222:5061
subnets:
- 11.22.33.44/24
username: 426c8402-691c-11ee-8c99-0242ac120002
inviteAuthentication: true
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/sip-trunks/{sipTrunkId}/reset-password:
post:
tags:
- channels
summary: Reset SIP trunk credentials
description: Reset credentials. For `REGISTERED` SIP trunks, resets the registration password. For `AUTHENTICATED` SIP trunks, resets the authentication secrets (header value and digest credentials).
operationId: reset-sip-trunk-password
parameters:
- name: sipTrunkId
in: path
description: SIP trunk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Successfully reset credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.SipTrunkResetPasswordResponse'
examples:
Registered SIP trunk credentials:
summary: Registered SIP trunk credentials
value:
username: 426c8402-691c-11ee-8c99-0242ac120002
password: fkZ1921tM87
type: REGISTERED
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/sip-trunks/{sipTrunkId}/status:
get:
tags:
- channels
summary: Get SIP trunk status
description: Get a SIP trunk status. Successfully deleted SIP trunk does not have status.
operationId: get-sip-trunk-status
parameters:
- name: sipTrunkId
in: path
description: Sip Trunk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: SIP trunk status.
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.ExtendedSipTrunkStatusResponse'
examples:
Response example 1:
summary: Response example 1
value:
adminStatus: ENABLED
actionStatus:
status: SUCCESS
activeCalls: 100
Response example 2:
summary: Response example 2
value:
adminStatus: DISABLED
actionStatus:
status: FAILED
reason: Invalid source IP.
activeCalls: 0
Response example 3:
summary: Response example 3
value:
adminStatus: DISABLED
actionStatus:
status: RESET
reason: Not enough credits.
registrationStatus: UNREGISTERED
activeCalls: 0
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
post:
tags:
- channels
summary: Set SIP trunk status
description: Set a SIP trunk's status.
operationId: set-sip-trunk-status
parameters:
- name: sipTrunkId
in: path
description: Sip Trunk ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/6423f137d264daaaab4ca521d6dfeb19cab29b6b25c3d2da0c1c3fb475a5e829.SipTrunkStatusRequest'
examples:
Request example 1:
summary: Request example 1
value:
adminStatus: ENABLED
Request example 2:
summary: Request example 2
value:
adminStatus: DISABLED
required: true
responses:
'200':
description: SIP trunk status set.
content:
application/json:
schema:
$ref: '#/components/schemas/74ef2de883b1c563e3452617e157979c03da4c002bc4346d51554a1679b9616f.SipTrunkStatusResponse'
examples:
Response example 1:
summary: Response example 1
value:
adminStatus: ENABLED
Response example 2:
summary: Response example 2
value:
adminStatus: DISABLED
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/sip-trunks/service-addresses:
get:
tags:
- channels
summary: Get SIP trunk service addresses
description: Get SIP trunk service addresses.
operationId: get-sip-trunk-service-addresses
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.SipTrunkServiceAddressPage'
examples:
SIP trunk service address page response.:
summary: SIP trunk service address page response.
value:
results:
- id: abc-def-ghi
name: Location address name
street: Location address street
city: My city
postCode: '71000'
suite: '1030'
country:
name: Croatia
code: HRV
region:
name: Zagreb County
code: HR-01
paging:
page: 0
size: 20
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create SIP trunk service address
description: Create a SIP trunk service address.
operationId: create-sip-trunk-service-address
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicSipTrunkServiceAddressRequest'
examples:
SIP trunk service address request:
summary: SIP trunk service address request
value:
name: Location address name
street: Location address street
city: My city
postCode: '71000'
suite: '1030'
countryCode: HRV
countryRegionCode: HR-01
required: true
responses:
'201':
description: SIP trunk service address created.
content:
application/json:
schema:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicSipTrunkServiceAddress'
examples:
Response example:
summary: Response example
value:
id: abc-def-ghi
name: Location address name
street: Location address street
city: My city
postCode: '71000'
suite: '1030'
country:
name: Croatia
code: HRV
region:
name: Zagreb County
code: HR-01
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/sip-trunks/service-addresses/{sipTrunkServiceAddressId}:
get:
tags:
- channels
summary: Get SIP trunk service address
description: Get SIP trunk service address.
operationId: get-sip-trunk-service-address
parameters:
- name: sipTrunkServiceAddressId
in: path
description: SIP trunk service address ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicSipTrunkServiceAddress'
examples:
Response example:
summary: Response example
value:
id: abc-def-ghi
name: Location address name
street: Location address street
city: My city
postCode: '71000'
suite: '1030'
country:
name: Croatia
code: HRV
region:
name: Zagreb County
code: HR-01
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
put:
tags:
- channels
summary: Update SIP trunk service address
description: Update SIP trunk service address.
operationId: update-sip-trunk-service-address
parameters:
- name: sipTrunkServiceAddressId
in: path
description: SIP trunk service address ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicSipTrunkServiceAddressRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicSipTrunkServiceAddress'
examples:
Response example:
summary: Response example
value:
id: abc-def-ghi
name: Location address name
street: Location address street
city: My city
postCode: '71000'
suite: '1030'
country:
name: Croatia
code: HRV
region:
name: Zagreb County
code: HR-01
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
delete:
tags:
- channels
summary: Delete SIP trunk service address
description: Delete SIP trunk service address.
operationId: delete-sip-trunk-service-address
parameters:
- name: sipTrunkServiceAddressId
in: path
description: SIP trunk service address ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicSipTrunkServiceAddress'
examples:
Response example:
summary: Response example
value:
id: abc-def-ghi
name: Location address name
street: Location address street
city: My city
postCode: '71000'
suite: '1030'
country:
name: Croatia
code: HRV
region:
name: Zagreb County
code: HR-01
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/sip-trunks/service-addresses/countries:
get:
tags:
- channels
summary: Get countries
description: Get countries with shortcodes you'd need for a SIP trunk address.
operationId: get-countries
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicCountry'
examples:
Response example:
summary: Response example
value:
- name: New Zealand
code: NZL
- name: Fiji
code: FJI
- name: Guadeloupe
code: GLP
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/sip-trunks/service-addresses/countries/regions:
get:
tags:
- channels
summary: Get regions
description: Get regions with shortcodes you'd need for a SIP trunk address.
operationId: get-regions
parameters:
- name: countryCode
in: query
description: Country code.
required: true
style: form
explode: true
schema:
type: string
example: HRV
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/5cec81334b90b810e64e8923d2a0d906614be46012f19935bf49fd13e921d8b2.PublicRegion'
examples:
Response example:
summary: Response example
value:
- name: Dubrovnik-Neretva County
code: HR-19
countryCode: HRV
- name: Međimurje County
code: HR-20
countryCode: HRV
- name: City of Zagreb
code: HR-21
countryCode: HRV
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/files:
get:
tags:
- channels
summary: Get files
description: Get files with pagination. Maximum number of pages is 100.
operationId: get-calls-files
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.FilePage'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Upload audio file
description: Upload an audio file. Uploaded files can be played on calls, dialogs or conferences. The file will be removed if it is not used for 90 days.
operationId: upload-calls-audio-file
requestBody:
description: Audio file to be uploaded.
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.File'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/files/{fileId}:
get:
tags:
- channels
summary: Get file
description: Get a single file.
operationId: get-calls-file
parameters:
- name: fileId
in: path
description: File ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.File'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete file
description: Delete a file.
operationId: delete-calls-file
parameters:
- name: fileId
in: path
description: File ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.File'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/calls:
get:
tags:
- channels
summary: Get calls recordings
description: Get the recordings of calls with pagination.
operationId: get-calls-recordings
parameters:
- name: callId
in: query
description: Call ID.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: entityId
in: query
description: Entity ID.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: endpointIdentifier
in: query
description: Endpoint identifier.
required: false
style: form
explode: true
schema:
type: string
example: 44790123456
- name: startTimeAfter
in: query
description: Date and time when the (first) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.134+0000
- name: endTimeBefore
in: query
description: Date and time when the (last) call recording ended.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:35:45.154+0000
- name: direction
in: query
description: Call direction.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallDirection'
example: OUTBOUND
- name: endpointType
in: query
description: Endpoint type.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallEndpointType'
example: WEBRTC
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.CallRecordingPage'
examples:
Call recording page response.:
summary: Call recording page response.
value:
results:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: PARTIALLY_FAILED
reason: Recording postprocessing failed
paging:
page: 0
size: 2
totalPages: 1
totalResults: 2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/calls/{callId}:
get:
tags:
- channels
summary: Get call recordings
description: Get the recordings for a single call.
operationId: get-call-recordings
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicCallRecording'
examples:
Call recording:
summary: Call recording
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
Failed call recording:
summary: Failed call recording
value:
callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: PARTIALLY_FAILED
reason: Recording postprocessing failed
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete call recordings
description: Delete the recordings for a single call.
operationId: delete-call-recordings
parameters:
- name: callId
in: path
description: Call ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicCallRecording'
examples:
Call recording:
summary: Call recording
value:
callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
Failed call recording:
summary: Failed call recording
value:
callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: PARTIALLY_FAILED
reason: Recording postprocessing failed
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:delete
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/conferences:
get:
tags:
- channels
summary: Get conferences recordings
description: Get the recordings of conferences with pagination.
operationId: get-conferences-recordings
parameters:
- name: conferenceId
in: query
description: Conference ID.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: entityId
in: query
description: Entity ID.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: conferenceName
in: query
description: Conference name.
required: false
style: form
explode: true
schema:
type: string
example: Conference
- name: callId
in: query
description: Filter all conference recordings where call ID was included in the recording.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: callEndpointType
in: query
description: Filter all conference recordings where calls with endpoint type were included in the recording.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallEndpointType'
example: WEBRTC
- name: callEndpointIdentifier
in: query
description: Filter all conference recordings where calls with endpoint identifier were included in the recording.
required: false
style: form
explode: true
schema:
type: string
example: 44790123456
- name: startTimeAfter
in: query
description: Date and time when the (first) conference recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.134+0000
- name: endTimeBefore
in: query
description: Date and time when the (last) conference recording ended.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:35:45.154+0000
- name: composition
in: query
description: Flag indicating whether auto-compose feature was turned on for the recording.
required: false
style: form
explode: true
schema:
type: boolean
example: true
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.ConferenceRecordingPage'
examples:
Conference recording page response.:
summary: Conference recording page response.
value:
results:
- conferenceId: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
conferenceName: Example conference
platform:
applicationId: 61c060db2675060027d8c7a6
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: SFTP
sftpUploadStatus: UPLOADED
customData:
key1: value1
key2: value2
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/conferences/{conferenceId}:
get:
tags:
- channels
summary: Get conference recordings
description: Get the recordings for a single conference.
operationId: get-conference-recordings
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicConferenceRecording'
examples:
Conference recording response:
summary: Conference recording response
value:
conferenceId: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
conferenceName: Example conference
platform:
applicationId: 61c060db2675060027d8c7a6
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: SFTP
sftpUploadStatus: UPLOADED
customData:
key1: value1
key2: value2
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete conference recordings
description: Delete the recordings for a single conference.
operationId: delete-conference-recordings
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicConferenceRecording'
examples:
Conference recording response:
summary: Conference recording response
value:
conferenceId: e8a7c0f5-0f0b-4ccf-84a4-1b7e5f699001
conferenceName: Example conference
platform:
applicationId: 61c060db2675060027d8c7a6
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: SFTP
sftpUploadStatus: UPLOADED
customData:
key1: value1
key2: value2
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value: Bad request
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:delete
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/conferences/{conferenceId}/compose:
post:
tags:
- channels
summary: Compose conference recording on calls
description: Compose conference recording on calls. All calls will be merged into a single audio or video file.
operationId: compose-conference-recording
parameters:
- name: conferenceId
in: path
description: Conference ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.OnDemandComposition'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/dialogs:
get:
tags:
- channels
summary: Get dialogs recordings
description: Get the recordings of dialogs with pagination.
operationId: get-dialogs-recordings
parameters:
- name: dialogId
in: query
description: Dialog ID.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: callsConfigurationId
in: query
description: Calls Configuration ID.
required: false
style: form
explode: true
schema:
type: string
example: dc5942707c704551a00cd2ea
- name: applicationId
in: query
description: Application ID.
required: false
style: form
explode: true
schema:
type: string
example: 61c060db2675060027d8c7a6
- name: entityId
in: query
description: Entity ID.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: callId
in: query
description: Filter all dialog recordings where call ID was included in the recording.
required: false
style: form
explode: true
schema:
type: string
example: 64d214c5-70b7-4ea6-b2a6-8334d1f34fb4
- name: callEndpointType
in: query
description: Filter all dialog recordings where calls with endpoint type were included in the recording.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.CallEndpointType'
example: WEBRTC
- name: callEndpointIdentifier
in: query
description: Filter all dialog recordings where calls with endpoint identifier were included in the recording.
required: false
style: form
explode: true
schema:
type: string
example: 44790123456
- name: startTimeAfter
in: query
description: Date and time when the (first) dialog recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:25:45.134+0000
- name: endTimeBefore
in: query
description: Date and time when the (last) dialog recording ended.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2022-05-01T14:35:45.154+0000
- name: composition
in: query
description: Flag indicating whether auto-compose feature was turned on for the recording.
required: false
style: form
explode: true
schema:
type: boolean
example: true
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.DialogRecordingPage'
examples:
Dialog recording page response.:
summary: Dialog recording page response.
value:
results:
- dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
paging:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/dialogs/{dialogId}:
get:
tags:
- channels
summary: Get dialog recordings
description: Get the recordings for a single dialog.
operationId: get-dialog-recordings
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicDialogRecording'
examples:
Dialog recording response:
summary: Dialog recording response
value:
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete dialog recordings
description: Delete the recordings for a single dialog.
operationId: delete-dialog-recordings
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicDialogRecording'
examples:
Dialog recording response:
summary: Dialog recording response
value:
dialogId: 034e622a-cc7e-456d-8a10-0ba43b11aa5e
platform:
applicationId: 61c060db2675060027d8c7a6
composedFiles:
- id: 65f0b3d7c8b6a00001a2b3d5
name: example-recording.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
callRecordings:
- callId: d8d84155-3831-43fb-91c9-10b5a8d628a0
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
- callId: ae024ad1-52e7-45d5-a5d2-cd7c809e03f8
endpoint:
type: PHONE
phoneNumber: '41793026834'
direction: INBOUND
files:
- id: d8d84155-3831-43fb-91c9-10b5a8d628a0
name: d8d84155-3831-43fb-91c9-10b5a8d628a0_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
status: SUCCESSFUL
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:delete
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/dialogs/{dialogId}/compose:
post:
tags:
- channels
summary: Compose dialog recording on calls
description: Compose dialog recording on calls. Both calls will be merged into a single audio or video file.
operationId: compose-dialog-recording
parameters:
- name: dialogId
in: path
description: Dialog ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.OnDemandComposition'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.ActionResponse'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/recordings/files/{fileId}:
get:
tags:
- channels
summary: Download recording file
description: Download a recording file.
operationId: download-recording-file
parameters:
- name: fileId
in: path
description: File ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
- name: Range
in: header
description: Range header specifies range of bytes to be returned by the response. If range header is not specified, response will return a complete file.
required: false
style: simple
explode: false
schema:
type: string
example: bytes=0-1023
responses:
'200':
description: Success
content:
application/octet-stream:
schema:
type: string
format: binary
description: File binary stream response
'206':
description: Partial content
content:
application/octet-stream:
schema:
type: string
format: binary
description: Partial file binary stream response
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'416':
description: Requested range not satisfiable
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: REQUESTED_RANGE_NOT_SATISFIABLE
text: Requested range is invalid.
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
delete:
tags:
- channels
summary: Delete recording file
description: Delete a single file from a call or conference recording. The call or conference recording metadata will still exist after deleting the file, but the file will not show up anymore in the file list of that call or conference recording.
operationId: delete-recording-file
parameters:
- name: fileId
in: path
description: File ID.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a8c993b4bcabd2960dfaf3986394e0fe85cd1c09dc98b0a81b51403a00c8f97c.PublicRecordingFile'
examples:
Recording file response:
summary: Recording file response
value:
id: 65f0b3d7c8b6a00001a2b3d5
name: 65f0b3d7c8b6a00001a2b3d5_1652725357412.wav
fileFormat: WAV
size: 67564
creationTime: 2026-01-15T12:00:00.150+0000
duration: 10
startTime: 2026-01-15T11:59:50.000+0000
endTime: 2026-01-15T12:00:00.000+0000
location: HOSTED
customData:
key1: value1
key2: value2
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:recording:delete
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/media-stream-configs:
get:
tags:
- channels
summary: Get media-stream configs
description: Get media-stream configs.
operationId: get-media-stream-configs
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/f0c12807aec90d20a332deb5d4c4ff89651a8119eb6a5fa7e1d6e803f3c0e71b.MediaStreamConfigPage'
examples:
Media stream config page response.:
summary: Media stream config page response.
value:
results:
- id: 63467c6e2885a5389ba11d80
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
audioEncoding: RAW
- id: 63467c6e2885a5389ba11d81
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
paging:
page: 0
size: 2
totalPages: 1
totalResults: 2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create a media-stream configuration
description: Create a media-stream configuration. For more details, see [documentation](https://www.infobip.com/docs/voice-and-video/calls#media-streaming-understanding-calls-api).
operationId: create-media-stream-config
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/58f57942de1c194257c321b1824e5d3941d9e9f538a9f08ddcb73e6025439f43.MediaStreamConfigRequest'
examples:
Media streaming config request:
summary: Media streaming config request
value:
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
securityConfig:
username: my-username
password: my-password
type: BASIC
audioEncoding: RAW
WebSocket endpoint config request:
summary: WebSocket endpoint config request
value:
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
required: true
responses:
'201':
description: Media stream config created.
content:
application/json:
schema:
$ref: '#/components/schemas/655eaf80f7479f4a18447865649b33bdb754aaa97779726ffb72592cb1ac3ce5.MediaStreamConfigResponse'
examples:
Media streaming config response:
summary: Media streaming config response
value:
id: 63467c6e2885a5389ba11d80
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
audioEncoding: RAW
WebSocket endpoint config response:
summary: WebSocket endpoint config response
value:
id: 63467c6e2885a5389ba11d81
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/calls/1/media-stream-configs/{mediaStreamConfigId}:
get:
tags:
- channels
summary: Get media-stream configuration
description: Get a single media-stream configuration.
operationId: get-media-stream-config
parameters:
- name: mediaStreamConfigId
in: path
description: Media-stream configuration ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/655eaf80f7479f4a18447865649b33bdb754aaa97779726ffb72592cb1ac3ce5.MediaStreamConfigResponse'
examples:
Media streaming config response:
summary: Media streaming config response
value:
id: 63467c6e2885a5389ba11d80
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
audioEncoding: RAW
WebSocket endpoint config response:
summary: WebSocket endpoint config response
value:
id: 63467c6e2885a5389ba11d81
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
put:
tags:
- channels
summary: Update a media-stream configuration
description: Update a media-stream configuration.
operationId: update-media-stream-config
parameters:
- name: mediaStreamConfigId
in: path
description: Media-stream configuration ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/58f57942de1c194257c321b1824e5d3941d9e9f538a9f08ddcb73e6025439f43.MediaStreamConfigRequest'
examples:
Media streaming config request:
summary: Media streaming config request
value:
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
securityConfig:
username: my-username
password: my-password
type: BASIC
audioEncoding: RAW
WebSocket endpoint config request:
summary: WebSocket endpoint config request
value:
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/655eaf80f7479f4a18447865649b33bdb754aaa97779726ffb72592cb1ac3ce5.MediaStreamConfigResponse'
examples:
Media streaming config response:
summary: Media streaming config response
value:
id: 63467c6e2885a5389ba11d80
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
audioEncoding: RAW
WebSocket endpoint config response:
summary: WebSocket endpoint config response
value:
id: 63467c6e2885a5389ba11d81
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete a media-stream configuration
description: Delete a media-stream configuration.
operationId: delete-media-stream-config
parameters:
- name: mediaStreamConfigId
in: path
description: Media-stream configuration ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/655eaf80f7479f4a18447865649b33bdb754aaa97779726ffb72592cb1ac3ce5.MediaStreamConfigResponse'
examples:
Media streaming config response:
summary: Media streaming config response
value:
id: 63467c6e2885a5389ba11d80
type: MEDIA_STREAMING
name: Media-stream config
url: ws://example-web-socket.com:3001
audioEncoding: RAW
WebSocket endpoint config response:
summary: WebSocket endpoint config response
value:
id: 63467c6e2885a5389ba11d81
type: WEBSOCKET_ENDPOINT
name: Media-stream config
url: ws://example-web-socket.com:3001
sampleRate: '8000'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/bulks:
post:
tags:
- channels
summary: Create bulk of calls
description: 'Create a bulk of outbound calls. Currently, only `PHONE` endpoints are supported.
When retry options are specified, bulk calls are retried if they meet internal or client retry criteria.
Client retry criteria are met when call reaches the end device and fails. Internal retry criteria are met when call fails before reaching the end device.'
operationId: create-bulk
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/2f1f086f3fbc952749e03dadc7759cfc932ca2898a0c5e5b77a8bc2d84bd5c48.BulkRequest'
examples:
Basic bulk request:
summary: Basic bulk request
value:
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
items:
- from: '41793026834'
callRequests:
- endpoint:
phoneNumber: '41792036727'
type: PHONE
- endpoint:
phoneNumber: '41792036728'
type: PHONE
- endpoint:
phoneNumber: '41792036729'
type: PHONE
Advanced bulk request:
summary: Advanced bulk request
value:
bulkId: 46ab0413-448f-4153-ada9-b68b14242dc3
callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
items:
- from: '41793026834'
callRequests:
- externalId: your-external-id-1
endpoint:
phoneNumber: '41792036727'
type: PHONE
- externalId: your-external-id-2
endpoint:
phoneNumber: '41792036728'
type: PHONE
- externalId: your-external-id-3
endpoint:
phoneNumber: '41792036729'
type: PHONE
recording:
recordingType: AUDIO
machineDetection:
enabled: true
maxDuration: 28000
connectTimeout: 30
callRate:
maxCalls: 10
timeUnit: MINUTES
validityPeriod: 60
retryOptions:
minWaitPeriod: 5
maxWaitPeriod: 10
maxAttempts: 5
schedulingOptions:
startTime: 2026-01-15T12:00:00.000+0000
callingTimeWindow:
from:
hour: 9
minute: 0
to:
hour: 17
minute: 0
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
customData:
key1: value1
key2: value2
required: true
responses:
'201':
description: Bulk created.
content:
application/json:
schema:
$ref: '#/components/schemas/2f1f086f3fbc952749e03dadc7759cfc932ca2898a0c5e5b77a8bc2d84bd5c48.BulkResponse'
examples:
Basic bulk request:
summary: Basic bulk request
value:
bulkId: 46ab0413-448f-4153-ada9-b68b14242dc3
calls:
- callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
callId: 266f8375-33d3-482f-a258-51e86b5ae9ac
externalId: your-external-id-1
from: '41793026834'
endpoint:
phoneNumber: '41792036727'
type: PHONE
status: PENDING
- callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
callId: 366f8375-33d3-482f-a258-51e86b5ae9ad
externalId: your-external-id-2
from: '41793026834'
endpoint:
phoneNumber: '41792036728'
type: PHONE
status: PENDING
- callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
callId: 466f8375-33d3-482f-a258-51e86b5ae9ae
externalId: your-external-id-3
from: '41793026834'
endpoint:
phoneNumber: '41792036729'
type: PHONE
status: PENDING
Bulk Response:
summary: Bulk Response
value:
bulkId: 46ab0413-448f-4153-ada9-b68b14242dc3
calls:
- callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
callId: 266f8375-33d3-482f-a258-51e86b5ae9ac
externalId: your-external-id-1
from: '41793026834'
endpoint:
phoneNumber: '41792036727'
type: PHONE
status: PENDING
- callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
callId: 366f8375-33d3-482f-a258-51e86b5ae9ad
externalId: your-external-id-2
from: '41793026834'
endpoint:
phoneNumber: '41792036728'
type: PHONE
status: PENDING
- callsConfigurationId: dc5942707c704551a00cd2ea
platform:
applicationId: 61c060db2675060027d8c7a6
callId: 466f8375-33d3-482f-a258-51e86b5ae9ae
externalId: your-external-id-3
from: '41793026834'
endpoint:
phoneNumber: '41792036729'
type: PHONE
status: PENDING
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Request is invalid.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Application not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:traffic:send
x-throttling-info:
- type: time
numberOfRequests: 2000
numberOfTimeUnits: 0
timeUnit: s
/calls/1/bulks/{bulkId}:
get:
tags:
- channels
summary: Get bulk status
description: Get a single bulk status. Bulk has a status if it was created with scheduling options.
operationId: get-bulk-status
parameters:
- name: bulkId
in: path
description: Bulk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.BulkStatus'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:logs:read
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/bulks/{bulkId}/reschedule:
post:
tags:
- channels
summary: Reschedule
description: Reschedule a bulk. Rescheduling is possible only if the bulk was created with scheduling options and has not started yet.
operationId: reschedule-bulk
parameters:
- name: bulkId
in: path
description: Bulk ID.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.RescheduleRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.BulkStatus'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:bulk:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/bulks/{bulkId}/pause:
post:
tags:
- channels
summary: Pause
description: Pause a bulk. Bulk can be paused if it is in progress and was created with scheduling options.
operationId: pause-bulk
parameters:
- name: bulkId
in: path
description: Bulk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.BulkStatus'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:bulk:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/bulks/{bulkId}/resume:
post:
tags:
- channels
summary: Resume
description: Resume a bulk. Bulk can be resumed if it is paused and was created with scheduling options.
operationId: resume-bulk
parameters:
- name: bulkId
in: path
description: Bulk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.BulkStatus'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:bulk:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/calls/1/bulks/{bulkId}/cancel:
post:
tags:
- channels
summary: Cancel
description: Cancel a bulk. Bulk can be cancelled if it was created with scheduling options and has not finished yet.
operationId: cancel-bulk
parameters:
- name: bulkId
in: path
description: Bulk ID.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4527871876f1b326359cd9e5dcf777f0ecc3c5fde89b1e88f0c154b298b67611.BulkStatus'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/e8b4ac5a98b4fdd5509637ee70be50d1c508e5a4c9ac2c19485e7cdc7eb9bd4e.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Resource was not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calls:manage
- calls:bulk:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/markuplanguage/1/create:
post:
tags:
- channels
summary: Create markup language call.
description: Create a new markup language call which will be processed according to provided markup instructions.
operationId: create-markup-language-call
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupRequest'
examples:
Minimal markup call:
summary: Minimal markup call
value:
callback:
url: https://example.com/cml/markup
errorUrl: https://example.com/cml/error
method: POST
endpoint:
phoneNumber: '41793026835'
type: PHONE
from: '41793026834'
Markup call with notify URL and external ID:
summary: Markup call with notify URL and external ID
value:
callback:
url: https://example.com/cml/markup
errorUrl: https://example.com/cml/error
method: POST
endpoint:
phoneNumber: '41793026835'
type: PHONE
from: '41793026834'
externalId: call-external-id-123
notifyUrl: https://example.com/cml/notify
Markup call with synchronous machine detection:
summary: Markup call with synchronous machine detection
value:
callback:
url: https://example.com/cml/markup
errorUrl: https://example.com/cml/error
method: POST
endpoint:
phoneNumber: '41793026835'
type: PHONE
from: '41793026834'
machineDetection:
detectionTime: 3.0
mode:
type: SYNC
Markup call with asynchronous machine detection and message detection:
summary: Markup call with asynchronous machine detection and message detection
value:
callback:
url: https://example.com/cml/markup
errorUrl: https://example.com/cml/error
method: POST
endpoint:
phoneNumber: '41793026835'
type: PHONE
from: '41793026834'
machineDetection:
detectionTime: 3.0
mode:
asyncUrl: https://example.com/cml/amd
asyncUrlMethod: POST
type: ASYNC
messageDetection:
timeout: 30
required: true
responses:
'201':
description: Markup Language Call Successfully Created
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupResponse'
examples:
Minimal markup call response:
summary: Minimal markup call response
value:
callback:
url: https://example.com/cml/markup
errorUrl: https://example.com/cml/error
method: POST
endpoint:
phoneNumber: '41793026835'
type: PHONE
from: '41793026834'
Markup call response with duration and external ID:
summary: Markup call response with duration and external ID
value:
callback:
url: https://example.com/cml/markup
errorUrl: https://example.com/cml/error
method: POST
endpoint:
phoneNumber: '41793026835'
type: PHONE
from: '41793026834'
externalId: call-external-id-123
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- markuplanguage:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
/markuplanguage/1/config:
get:
tags:
- channels
summary: Get markup language configurations
description: Get existing markup language configurations with pagination.
operationId: get-markup-language-config-list
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/526c8fd5dbec2ed6659284b76850ff4085b7915f78d3266fedb5e0b5300d882a.MarkupLanguageConfigResponsePage'
examples:
Markup language configuration response page example:
summary: Markup language configuration response page example
description: Example of a page of markup language configuration responses with different HTTP methods and URL setups.
value:
results:
- id: 123
name: BasicMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
- id: 124
name: FullMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
createTime: '2024-02-10T09:00:00'
updateTime: '2024-06-20T14:00:00'
- id: 125
name: GetMethodMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
createTime: '2024-03-05T12:00:00'
updateTime: '2024-03-05T12:00:00'
paging:
page: 0
size: 20
totalPages: 1
totalResults: 3
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- markuplanguage:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
post:
tags:
- channels
summary: Create a markup language configuration
description: Create a new markup language configuration.
operationId: create-markup-language-config
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupLanguageConfigRequest'
examples:
Basic markup language configuration:
summary: Basic markup language configuration
value:
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
Full markup language configuration with notify and error URLs:
summary: Full markup language configuration with notify and error URLs
value:
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
Markup language configuration using GET HTTP method:
summary: Markup language configuration using GET HTTP method
value:
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
required: true
responses:
'201':
description: Markup Language Configuration Successfully Created
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupLanguageConfigResponse'
examples:
Basic markup language configuration response:
summary: Basic markup language configuration response
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
Full markup language configuration response with notify and error URLs:
summary: Full markup language configuration response with notify and error URLs
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-06-20T14:00:00'
Markup language configuration response using GET HTTP method:
summary: Markup language configuration response using GET HTTP method
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- markuplanguage:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
/markuplanguage/1/config/{configId}:
get:
tags:
- channels
summary: Get a markup language configuration
description: Get an existing markup language configuration.
operationId: get-markup-language-config
parameters:
- name: configId
in: path
description: Configuration identifier
required: true
style: simple
explode: false
schema:
type: string
example: 123
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupLanguageConfigResponse'
examples:
Basic markup language configuration response:
summary: Basic markup language configuration response
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
Full markup language configuration response with notify and error URLs:
summary: Full markup language configuration response with notify and error URLs
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-06-20T14:00:00'
Markup language configuration response using GET HTTP method:
summary: Markup language configuration response using GET HTTP method
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- markuplanguage:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
put:
tags:
- channels
summary: Update a markup language configuration
description: Update an already existing markup language configuration. Fields that are not sent in the request body will take default values and overwrite existing ones.
operationId: update-markup-language-config
parameters:
- name: configId
in: path
description: Configuration identifier
required: true
style: simple
explode: false
schema:
type: string
example: 123
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupLanguageConfigRequest'
examples:
Basic markup language configuration:
summary: Basic markup language configuration
value:
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
Full markup language configuration with notify and error URLs:
summary: Full markup language configuration with notify and error URLs
value:
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
Markup language configuration using GET HTTP method:
summary: Markup language configuration using GET HTTP method
value:
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupLanguageConfigResponse'
examples:
Basic markup language configuration response:
summary: Basic markup language configuration response
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
Full markup language configuration response with notify and error URLs:
summary: Full markup language configuration response with notify and error URLs
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-06-20T14:00:00'
Markup language configuration response using GET HTTP method:
summary: Markup language configuration response using GET HTTP method
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- markuplanguage:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
delete:
tags:
- channels
summary: Delete a markup language configuration
description: Delete an existing markup language configuration.
operationId: delete-markup-language-config
parameters:
- name: configId
in: path
description: Configuration identifier
required: true
style: simple
explode: false
schema:
type: string
example: 123
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/eaaf11bb9830fc826a8597df01bea6f2a14ef6d1ed129a4f6623981d52827778.MarkupLanguageConfigResponse'
examples:
Basic markup language configuration response:
summary: Basic markup language configuration response
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
Full markup language configuration response with notify and error URLs:
summary: Full markup language configuration response with notify and error URLs
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
notifyUrl: https://example.com/cml/notify
errorUrl: https://example.com/cml/error
httpMethod: POST
createTime: '2024-01-15T10:30:00'
updateTime: '2024-06-20T14:00:00'
Markup language configuration response using GET HTTP method:
summary: Markup language configuration response using GET HTTP method
value:
id: 123
name: UniqueMarkupConfiguration
markupUrl: https://example.com/cml/markup
httpMethod: GET
createTime: '2024-01-15T10:30:00'
updateTime: '2024-01-15T10:30:00'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- markuplanguage:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
/tts/3/single:
post:
tags:
- channels
summary: Send single voice message
description: This method allows you to send single voice message to one or more destination addresses.
externalDocs:
description: Learn more about voice messages
url: https://www.infobip.com/docs/voice-and-video/voice-messages
operationId: send-single-voice-tts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4171c7b532e904c90fa2d755f583a0120bed3adbb383ab2309fddb57ee41f476.SingleTtsApiRequest'
examples:
Single voice message with text:
summary: Single voice message with text
description: Single voice message with text
value:
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
from: '41793026700'
to: '41793026727'
Single voice message with audio file:
summary: Single voice message with audio file
description: Single voice message with audio file
value:
audioFileUrl: https://www.example.com/audio/greeting.mp3
from: '41793026700'
to: '41793026727'
application/xml:
schema:
$ref: '#/components/schemas/4171c7b532e904c90fa2d755f583a0120bed3adbb383ab2309fddb57ee41f476.SingleTtsApiRequest'
examples:
Single voice message with text:
summary: Single voice message with text
description: Single voice message with text
value: "\n \n Test Voice message.\n \n en\n \n \n \n female\n \n Joanna\n \n \n \n 41793026700\n \n 41793026727\n \n\n"
Single voice message with audio file:
summary: Single voice message with audio file
description: Single voice message with audio file
value: "\n \n https://www.example.com/audio/greeting.mp3\n \n 41793026700\n \n 41793026727\n \n\n"
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/4171c7b532e904c90fa2d755f583a0120bed3adbb383ab2309fddb57ee41f476.SingleTtsApiRequest'
examples:
Single voice message with text:
summary: Single voice message with text
description: Single voice message with text
value: 'curl -L -g ''https://{baseUrl}/tts/3/single'' \
-H ''Authorization: {authorization}'' \
-H ''Content-Type: application/x-www-form-urlencoded'' \
--data-urlencode ''from=442032864231'' \
--data-urlencode ''to=41793026727'' \
--data-urlencode ''language=en'' \
--data-urlencode ''text=Test Voice message'' \
--data-urlencode ''voice.gender=female'' \
--data-urlencode ''voice.name=Joanna''
'
Single voice message with audio file:
summary: Single voice message with audio file
description: Single voice message with audio file
value: 'curl -L -g ''https://{baseUrl}/tts/3/single'' \
-H ''Authorization: {authorization}'' \
-H ''Content-Type: application/x-www-form-urlencoded'' \
--data-urlencode ''from=442032864231'' \
--data-urlencode ''to=41793026727'' \
--data-urlencode ''audioFileUrl=https://www.example.com/audio/greeting.mp3''
'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value:
bulkId: 4fda521a-c680-470d-b134-83d468f7ac80
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
application/xml:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value: "\n 4fda521a-c680-470d-b134-83d468f7ac80\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message accepted, pending for delivery.\n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n \n\n"
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
x-throttling-info:
- type: time
numberOfRequests: 2000
numberOfTimeUnits: 0
timeUnit: s
/tts/3/multi:
post:
tags:
- channels
summary: Send multiple voice messages
description: This method allows you to send multiple voice messages to one or more destination addresses.
externalDocs:
description: Learn more about voice messages
url: https://www.infobip.com/docs/voice-and-video/voice-messages
operationId: send-multiple-voice-tts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/faa1195a85d1a730663c8d9058f7685a3760136466d26134605b0efcc286bec7.MultiTtsApiRequest'
examples:
Multiple voice messages with text:
summary: Multiple voice messages with text
value:
messages:
- text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
from: '41793026700'
to:
- '41793026727'
- '41793026731'
Multiple voice messages with audio file:
summary: Multiple voice messages with audio file
value:
messages:
- audioFileUrl: https://www.example.com/audio/greeting.mp3
from: '41793026700'
to:
- '41793026727'
- '41793026731'
application/xml:
schema:
$ref: '#/components/schemas/faa1195a85d1a730663c8d9058f7685a3760136466d26134605b0efcc286bec7.MultiTtsApiRequest'
examples:
Multiple voice messages with text:
summary: Multiple voice messages with text
value: "\n \n \n Test Voice message.\n en\n \n female\n Joanna\n \n 41793026700\n \n 41793026727\n 41793026731\n \n \n \n\n"
Multiple voice messages with audio file:
summary: Multiple voice messages with audio file
value: "\n \n \n https://www.example.com/audio/greeting.mp3\n 41793026700\n \n 41793026727\n 41793026731\n \n \n \n\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value:
bulkId: 4fda521a-c680-470d-b134-83d468f7ac80
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
application/xml:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value: "\n 4fda521a-c680-470d-b134-83d468f7ac80\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message accepted, pending for delivery.\n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n \n\n"
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
x-throttling-info:
- type: time
numberOfRequests: 2000
numberOfTimeUnits: 0
timeUnit: s
/tts/3/advanced:
post:
tags:
- channels
summary: Send advanced voice message
description: This method allows you to send advanced voice messages to one or more destination addresses.
externalDocs:
description: Learn more about voice messages
url: https://www.infobip.com/docs/voice-and-video/voice-messages
operationId: send-advanced-voice-tts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/329f726ae6e36d1a92786c502bebf028e5aa08cc32a3a8e9f0bed0d82dbc7157.AdvancedTtsApiRequest'
examples:
Advanced voice message request example:
summary: Advanced voice message request example
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
messageId: MESSAGE-ID-123-xyz
- to: '41793026731'
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
speechRate: 1.0
notifyUrl: https://www.example.com/voice/notify
notifyContentType: application/json
callbackData: DLR callback data
validityPeriod: 720
sendAt: 2023-08-10T07:36:42.005+0000
repeatDtmf: '123'
maxDtmf: 1
ringTimeout: 45
dtmfTimeout: 10
callTimeout: 130
callTransfers:
- callTransferMaxDuration: 45
equals: '2'
transferTo: '41793026700'
if: DTMF
- callTransferMaxDuration: 45
transferTo: '41793026701'
if: anyDtmf
pause: 3
retry:
minPeriod: 1
maxPeriod: 5
maxCount: 5
sendingSpeed:
speed: 5
timeUnit: minute
machineDetection: continue
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
OTP message example:
summary: OTP message example
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Hello, your code is,, 5,, 8,, 4,, 2
language: en
voice:
gender: female
name: Joanna
Audio file message:
summary: Audio file message
value:
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
audioFileUrl: https://www.example.com/audio/greeting.mp3
Machine detection with hangup:
summary: Machine detection with hangup
value:
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
machineDetection: hangup
DTMF input collection with call transfer:
summary: DTMF input collection with call transfer
value:
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
repeatDtmf: '123'
maxDtmf: 3
ringTimeout: 30
dtmfTimeout: 10
callTimeout: 120
callTransfers:
- callTransferMaxDuration: 60
equals: '1'
transferTo: '41793026700'
if: DTMF
- callTransferMaxDuration: 60
transferTo: '41793026701'
if: anyDtmf
Campaign broadcast with sending speed limit:
summary: Campaign broadcast with sending speed limit
value:
bulkId: BULK-ID-CAMPAIGN-001
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Hello! You have an incoming call from our support team. Please hold while we connect you.
language: en
voice:
gender: female
name: Joanna
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
sendingSpeed:
speed: 50
timeUnit: minute
Retry on failed delivery with scheduled time window:
summary: Retry on failed delivery with scheduled time window
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
retry:
minPeriod: 5
maxPeriod: 30
maxCount: 3
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
from:
hour: 8
minute: 0
to:
hour: 20
minute: 0
Callback data with delivery report:
summary: Callback data with delivery report
value:
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
callbackData: DLR callback data
Bulk request with multiple messages:
summary: Bulk request with multiple messages
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
messageId: MSG-001
text: Connecting your first call.
language: en
- from: '41793026700'
destinations:
- to: '41793026731'
messageId: MSG-002
text: Connecting your second call.
language: en
German language with male voice:
summary: German language with male voice
value:
messages:
- from: '41793026700'
destinations:
- to: '41793026727'
text: Hallo! Sie werden jetzt mit unserem Support-Team verbunden. Bitte warten Sie.
language: de
voice:
gender: male
name: Hans
application/xml:
schema:
$ref: '#/components/schemas/329f726ae6e36d1a92786c502bebf028e5aa08cc32a3a8e9f0bed0d82dbc7157.AdvancedTtsApiRequest'
examples:
Advanced voice message request example:
summary: Advanced voice message request example
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n \n \n 41793026727\n MESSAGE-ID-123-xyz\n \n \n 41793026731\n \n \n Test Voice message.\n en\n \n female\n Joanna\n \n 1.0\n https://www.example.com/voice/notify\n application/json\n DLR callback data\n 720\n 2023-08-10T07:36:42.005+0000\n 123\n 1\n 45\n 10\n 130\n \n \n 45\n 2\n 41793026700\n DTMF\n \n \n 45\n 41793026701\n anyDtmf\n \n \n 3\n \n 1\n 5\n 5\n \n \n 5\n minute\n \n continue\n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n \n \n\n"
OTP message example:
summary: OTP message example
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n \n \n 41793026727\n \n \n Hello, your code is,, 5,, 8,, 4,, 2\n en\n \n female\n Joanna\n \n \n \n\n"
Audio file message:
summary: Audio file message
value: "\n \n \n 41793026700\n \n \n 41793026727\n \n \n https://www.example.com/audio/greeting.mp3\n \n \n\n"
Machine detection with hangup:
summary: Machine detection with hangup
value: "\n \n \n 41793026700\n \n \n 41793026727\n \n \n Test Voice message.\n en\n \n female\n Joanna\n \n hangup\n \n \n\n"
DTMF input collection with call transfer:
summary: DTMF input collection with call transfer
value: "\n \n \n 41793026700\n \n \n 41793026727\n \n \n Test Voice message.\n en\n \n female\n Joanna\n \n 123\n 3\n 30\n 10\n 120\n \n \n 60\n 1\n 41793026700\n DTMF\n \n \n 60\n 41793026701\n anyDtmf\n \n \n \n \n\n"
Campaign broadcast with sending speed limit:
summary: Campaign broadcast with sending speed limit
value: "\n BULK-ID-CAMPAIGN-001\n \n \n 41793026700\n \n \n 41793026727\n \n \n Hello! You have an incoming call from our support team. Please hold while we connect you.\n en\n \n female\n Joanna\n \n https://www.example.com/delivery-report\n application/json\n \n 50\n minute\n \n \n \n\n"
Retry on failed delivery with scheduled time window:
summary: Retry on failed delivery with scheduled time window
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n \n \n 41793026727\n \n \n Test Voice message.\n en\n \n female\n Joanna\n \n https://www.example.com/delivery-report\n application/json\n \n 5\n 30\n 3\n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n \n \n 8\n 0\n \n \n 20\n 0\n \n \n \n \n\n"
Callback data with delivery report:
summary: Callback data with delivery report
value: "\n \n \n 41793026700\n \n \n 41793026727\n \n \n Test Voice message.\n en\n \n female\n Joanna\n \n https://www.example.com/delivery-report\n application/json\n DLR callback data\n \n \n\n"
Bulk request with multiple messages:
summary: Bulk request with multiple messages
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n \n \n 41793026727\n MSG-001\n \n \n Connecting your first call.\n en\n \n \n 41793026700\n \n \n 41793026731\n MSG-002\n \n \n Connecting your second call.\n en\n \n \n\n"
German language with male voice:
summary: German language with male voice
value: "\n \n \n 41793026700\n \n \n 41793026727\n \n \n Hallo! Sie werden jetzt mit unserem Support-Team verbunden. Bitte warten Sie.\n de\n \n male\n Hans\n \n \n \n\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value:
bulkId: 4fda521a-c680-470d-b134-83d468f7ac80
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
application/xml:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value: "\n 4fda521a-c680-470d-b134-83d468f7ac80\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message accepted, pending for delivery.\n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n \n\n"
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
x-throttling-info:
- type: time
numberOfRequests: 2000
numberOfTimeUnits: 0
timeUnit: s
/tts/3/voices/{language}:
get:
tags:
- channels
summary: Get Voices
description: This method allows you to retrieve all voices for the given language
operationId: get-voices
parameters:
- name: language
in: path
description: Represents the language abbreviation. (e.g. `en`). You can find the list of supported languages in corresponding section for sending voice message.
required: true
style: simple
explode: false
schema:
type: string
- name: includeNeural
in: query
description: 'Indicates whether neural voices should be included in the response.
If set to `false` or omitted, only standard voices will be included in the response.
If set to `true`, both standard and neural voices will be included in the response.
'
required: false
style: form
explode: true
schema:
type: boolean
default: false
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.GetVoicesResponse'
examples:
Response example:
summary: Response example
value:
voices:
- name: Benjamin
gender: male
supplier: Microsoft
ssmlSupported: false
isDefault: false
isNeural: false
- name: Ivy
gender: female
supplier: Amazon
ssmlSupported: true
isDefault: false
isNeural: false
- name: Joanna
gender: female
supplier: Amazon
ssmlSupported: true
isDefault: true
isNeural: false
- name: Joey
gender: male
supplier: Amazon
ssmlSupported: true
isDefault: false
isNeural: false
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.GetVoicesResponse'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n Benjamin\n \n male\n \n Microsoft\n \n false\n \n false\n \n false\n \n \n \n \n \n Ivy\n \n female\n \n Amazon\n \n true\n \n false\n \n false\n \n \n \n \n \n Joanna\n \n female\n \n Amazon\n \n true\n \n true\n \n false\n \n \n \n \n \n Joey\n \n male\n \n Amazon\n \n true\n \n false\n \n false\n \n \n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
4XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
5XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice-message:manage
- voice-message:message:send
- message:send
/tts/3/bulks:
get:
tags:
- channels
summary: Get sent bulks
description: This method will return information about the scheduled time for a unique bulk message. Canceling and rescheduling are supported only when the voice message request contains at least one message and the message bulkId is unique.
operationId: get-sent-bulks
parameters:
- name: bulkId
in: query
description: Unique ID of the bulk.
required: true
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkResponse'
examples:
Bulk response:
summary: Bulk response
value:
bulkId: 5028e2d42f19-42f1-4656-351e-a42c191e5fd2
sendAt: 2023-09-26T14:07:35.000+0000
application/xml:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkResponse'
examples:
Bulk response:
summary: Bulk response
value: "\n 5028e2d42f19-42f1-4656-351e-a42c191e5fd2\n 2023-09-26T14:07:35.000+0000\n\n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value: "\n \n \n TOO_MANY_REQUESTS\n Too many requests\n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
put:
tags:
- channels
summary: Reschedule sent bulk
description: This method allows you to reschedule scheduled TTS bulk. Messages scheduled with the sendAt or Sending speed parameter can be paused, resumed or canceled by changing the message status, or rescheduled using the bulkId parameter as an identifier. Rescheduling is only possible if the bulk status is PAUSED.
operationId: reschedule-sent-bulk
parameters:
- name: bulkId
in: query
description: Unique ID of the bulk.
required: true
style: form
explode: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkRequest'
examples:
Reschedule bulk status request:
summary: Reschedule bulk status request
value:
sendAt: 2023-09-26T14:07:35.000+0000
application/xml:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkRequest'
examples:
Reschedule bulk status request:
summary: Reschedule bulk status request
value: "\n 2023-09-26T14:07:35.000+0000\n\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkResponse'
examples:
Bulk response:
summary: Bulk response
value:
bulkId: 5028e2d42f19-42f1-4656-351e-a42c191e5fd2
sendAt: 2023-09-26T14:07:35.000+0000
application/xml:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkResponse'
examples:
Bulk response:
summary: Bulk response
value: "\n 5028e2d42f19-42f1-4656-351e-a42c191e5fd2\n 2023-09-26T14:07:35.000+0000\n\n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value: "\n \n \n TOO_MANY_REQUESTS\n Too many requests\n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
/tts/3/bulks/status:
get:
tags:
- channels
summary: Get sent bulk's status
description: This method allows you to get status of scheduled TTS bulk.
operationId: get-sent-bulks-status
parameters:
- name: bulkId
in: query
description: Unique ID of the bulk.
required: true
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkStatusResponse'
examples:
Bulk status response:
summary: Bulk status response
value:
bulkId: 5028e2d42f19-42f1-4656-351e-a42c191e5fd2
status: PENDING
application/xml:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkStatusResponse'
examples:
Bulk status response:
summary: Bulk status response
value: "\n 5028e2d42f19-42f1-4656-351e-a42c191e5fd2\n PENDING\n\n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value: "\n \n \n TOO_MANY_REQUESTS\n Too many requests\n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
put:
tags:
- channels
summary: Manage sent bulk's status
description: This method allows you to manage statuses of scheduled TTS bulk. Messages scheduled with the sendAt or sending speed parameter can be paused, resumed or canceled by changing the message status, or rescheduled using the bulkId parameter as an identifier. Only voice messages that were not already sent can be canceled.
operationId: manage-sent-bulks-status
parameters:
- name: bulkId
in: query
description: Unique ID of the bulk.
required: true
style: form
explode: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkStatusRequest'
examples:
Bulk status request:
summary: Bulk status request
value:
status: PENDING
application/xml:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkStatusRequest'
examples:
Bulk status request:
summary: Bulk status request
value: "\n PENDING\n\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkStatusResponse'
examples:
Bulk status response:
summary: Bulk status response
value:
bulkId: 5028e2d42f19-42f1-4656-351e-a42c191e5fd2
status: PENDING
application/xml:
schema:
$ref: '#/components/schemas/a15a35d4e9d79ecb7047887a88973e9a539c66701b3c993c3c3be69782dd8aba.BulkStatusResponse'
examples:
Bulk status response:
summary: Bulk status response
value: "\n 5028e2d42f19-42f1-4656-351e-a42c191e5fd2\n PENDING\n\n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value:
requestError:
serviceException:
messageId: TOO_MANY_REQUESTS
text: Too many requests
application/xml:
schema:
$ref: '#/components/schemas/1a32a5811401e5289f9edb3a3b051fee21e1ffff7ad179f3aead79d4a871821d.ApiException'
examples:
Too many requests response:
summary: Too many requests response
value: "\n \n \n TOO_MANY_REQUESTS\n Too many requests\n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- voice-message:message:send
- voice-message:manage
/voice/ivr/1/scenarios:
get:
tags:
- channels
summary: Search Voice IVR Scenarios
description: This method allows you to search Voice IVR Scenarios by name. To get a list of all IVR Scenarios, make a request without any parameters.
operationId: search-voice-ivr-scenarios
parameters:
- name: page
in: query
description: Page number you want to see. Default is 1.
required: false
style: form
explode: true
schema:
type: integer
format: int32
minimum: 1
- name: pageSize
in: query
description: Size of the page you want to see. Default is 50.
required: false
style: form
explode: true
schema:
type: integer
format: int32
maximum: 50
minimum: 1
- name: name
in: query
description: The name to search by.
required: false
style: form
explode: true
schema:
type: string
- name: label
in: query
description: The label of scenario to search by.
required: false
style: form
explode: true
schema:
type: string
- name: lastUsageDateSince
in: query
description: 'Lower limit of last usage date in `yyyy-MM-dd` format. Note: For scenarios where `lastUsageDate` is `null`, filtering matches `createTime`.'
required: false
style: form
explode: true
schema:
type: string
format: date
- name: lastUsageDateUntil
in: query
description: 'Upper limit of last usage date in `yyyy-MM-dd` format. Note: For scenarios where `lastUsageDate` is `null`, filtering matches `createTime`.'
required: false
style: form
explode: true
schema:
type: string
format: date
responses:
'200':
description: successful response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.SearchResponse'
examples:
Response example:
summary: Response example
value:
- id: E83E787CF2613450157ADA3476171E3F
name: My Scenario
description: Scenario to send a message
createTime: 2023-09-14T15:13:36.735+0000
updateTime: 2023-09-14T16:20:32.432+0000
lastUsageDate: '2023-09-14'
script:
- sendSms:
text: Hello
to: ${to}
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
post:
tags:
- channels
summary: Create Voice IVR Scenarios
description: This method allows you to create a Voice IVR Scenario. The IVR scenario will be removed if not used for more than 1 year.
operationId: create-a-voice-ivr-scenario
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.UpdateScenarioRequest'
examples:
Call API:
summary: Call API
description: Call API
value:
name: Call API
description: Perform a POST request to provided URL with headers and payload.
script:
- request: https://example.com/api/12345
options:
method: POST
headers:
content-type: application/json
body:
payload: ${to} finished the IVR.
Call Api to send collected DTMFs:
summary: Call Api to send collected DTMFs
description: Call Api to send collected DTMFs
value:
name: Call Api
description: Collect users input and submits it with a POST request to a url.
script:
- say: Hello, please press 1 if you wish to subscribe to our newsletter.
- collectInto: myCollectedVariable
options:
maxInputLength: 1
timeout: 5
- request: https://example.com/subscription
options:
method: POST
headers:
custom-header: header-value
body:
shouldSubscribe: ${myCollectedVariable}
- if: ${myCollectedVariable == 1}
then:
- say: You subscribed successfully.
Call Api with response:
summary: Call Api with response
description: Call Api with response
value:
name: Call Api with collected response
description: Collect users input and submit it with a POST request to a url, and play the response back to the user. Let's assume the response is a simple JSON object that has only one field with a key called 'responseText' and value defined by the clients API.
script:
- say: Hello, please press 1 if you wish to subscribe to our newsletter.
- collectInto: myCollectedVariable
options:
maxInputLength: 1
timeout: 5
- request: https://example.com/subscription
options:
method: POST
headers:
custom-header: header-value
body:
shouldSubscribe: ${myCollectedVariable}
collectResponse: true
- say: ${responseText}
Capture:
summary: Capture
description: Capture
value:
name: Capture speech
description: Capture users speech and branch the call based on the spoken words.
script:
- say: Say yes or no
- capture: myVar
timeout: 3
speechOptions:
language: en-US
maxSilence: 2
keyPhrases:
- 'yes'
- 'no'
- if: ${myVar == 'yes'}
then:
- say: Ok. I will send you more details
else: []
- if: ${myVar == 'no'}
then:
- say: Thank you for listening.
else: []
- if: ${myVar == ''}
then:
- say: I did not understand
else: []
- hangup
Capture speech or digit:
summary: Capture speech or digit
description: Capture speech or digit
value:
name: Capture speech or digit
description: Capture speech or digit
script:
- say: Say discount or press 1 to get discount. Say exit or press 0 to exit.
- capture: myVar
timeout: 5
speechOptions:
language: en-US
maxSilence: 2
keyPhrases:
- discount
- exit
dtmfOptions:
maxInputLength: 1
- if: ${myVar == 'discount' || myVar == '1'}
then:
- say: You will get discount
else:
- if: ${myVar == 'exit' || myVar == '0'}
then:
- say: Goodbye
else:
- say: I did not understand
- hangup
Collect dtmf and branch call execution based on input:
summary: Collect dtmf and branch call execution based on input
description: Collect dtmf and branch call execution based on input
value:
name: Capture speech or digit
description: Capture speech or digit
script:
- say: Say discount or press 1 to get discount. Say exit or press 0 to exit.
- capture: myVar
timeout: 5
speechOptions:
language: en-US
maxSilence: 2
keyPhrases:
- discount
- exit
dtmfOptions:
maxInputLength: 1
- if: ${myVar == 'discount' || myVar == '1'}
then:
- say: You will get discount
else:
- if: ${myVar == 'exit' || myVar == '0'}
then:
- say: Goodbye
else:
- say: I did not understand
- hangup
Collect dtmf with default branch:
summary: Collect dtmf with default branch
description: Collect dtmf with default branch
value:
name: Collect dtmf with default branch
description: Based on the collected input, the execution is branched into 2 branches. If wrong digit is pressed or nothing is pressed, execute default branch.
script:
- say: Hello. Press 1 or 2. Or press any other digit or do not press anything for default message to be played.
- collectInto: myVariable
options:
maxInputLength: 1
timeout: 5
sendToReports: ALWAYS
mappedValues:
'1': pressed one
'2': pressed two
- case:
'1':
- say: You have pressed 1.
'2':
- say: You have pressed 2.
__default:
- say: You pressed some other key or didn't press anything
switch: myVariable
Dial:
summary: Dial
description: Dial
value:
name: Dial to a destination
description: Dial to a provided destination to bridge original call with the dialed call.
script:
- dial: '41793026731'
options:
senderId: '123456789'
maxCallDuration: 10
Dial from a variable:
summary: Dial from a variable
description: Dial from a variable
value:
name: Dial to a number resolved from a variable
description: Dial to a number resolved from a variable
script:
- dial: ${numberToDial}
options:
senderId: '123456789'
maxCallDuration: 10
Dial to Many - parallel:
summary: Dial to Many - parallel
description: Dial to Many - parallel
value:
name: Dial to Many - parallel
description: Dial multiple destinations in parallel. This means that all destinations will receive the call at the same time, but only the first who answers is connected.
script:
- dialToMany:
- number: '41793026741'
- number: '41793026801'
- number: '41793026653'
- number: '41793026142'
options:
parallel: true
senderId: '4179302614112'
maxCallDuration: 60
Dial to Many - sequential:
summary: Dial to Many - sequential
description: Dial to Many - sequential
value:
name: Dial to Many - example
description: Dial multiple destinations in sequential. This means that the provided destinations will be called one by one as defined in the action below. First who answers will be connected, and the next ones will not be called.
script:
- dialToMany:
- number: '41793026741'
- number: '41793026801'
- number: '41793026653'
- number: '41793026142'
options:
parallel: false
senderId: '4179302614112'
maxCallDuration: 60
Dial to Conversations:
summary: Dial to Conversations
description: Dial to Conversations
value:
name: Dial to Conversations
description: Dial to Conversations.
script:
- dialToConversations:
options:
tags:
- tag name 1
- tag name 2
Dial to Conversations with tagIdentifierType:
summary: Dial to Conversations with tagIdentifierType
description: Dial to Conversations with tagIdentifierType
value:
name: Dial to Conversations with tagIdentifierType
description: Dial to Conversations with tagIdentifierType.
script:
- dialToConversations:
options:
tagIdentifierType: ID
tags:
- aaaaaaaa-bbbb-cccc-1111-222222222222
- bbbbbbbb-cccc-eeee-2222-333333333333
For-Each:
summary: For-Each
description: For-Each
value:
name: For-Each
description: Use For-each to perform any action for each of provided values.
script:
- for-each: city
in: New York,Los Angeles,Boston
do:
- say: Hello from ${city}
Goto to repeat a message:
summary: Goto to repeat a message
description: Goto to repeat a message
value:
name: Goto to repeat say action n times
description: Repeat a message n times and then hang up
script:
- actionId: 1
say: Your password is 1, 2, 3, 4
- if: ${countVar == 3}
then:
- say: I will hangup now
- goTo: 1
options:
gotoLimit: 3
countVariable: countVar
- hangup
Goto limit reached:
summary: Goto limit reached
description: Goto limit reached
value:
name: Goto limit reached
description: Goto limit reached
script:
- say: Hello world
actionId: 1
- if: ${count_var == 3}
then:
- say: I will hangup now
- goTo: 1
options:
gotoLimit: 3
countVariable: count_var
- hangup
If-Then-Else:
summary: If-Then-Else
description: If-Then-Else
value:
name: If-Then-Else
description: If-Then-Else
script:
- if: ${number > 0}
then:
- say: Number ${number} is a positive number.
else:
- say: Number ${number} is a non-positive number.
Machine detection with advanced options:
summary: Machine detection with advanced options
description: Machine detection with advanced options
value:
description: Advanced machine detection
name: Advanced machine detection
script:
- answeringMachineDetection: true
options:
waitEndOfMessageDetection: ALWAYS
endOfMessageDetectionTimeout: 30
onDetecting:
- say: Thank you for using our services. We’re excited to reward your loyalty with free concert tickets.
onMachineDetected:
- say: It seems we've reached your voicemail. Please visit our website to learn more about the free tickets.
- hangup
onTimeout:
- hangup
- say: Please enter your preferred concert date. For example, to enter March 1st, press 0 1 0 3. Thank you!
- collectInto: concertDate
options:
maxInputLength: 8
- hangup
Machine detection with if-then-else:
summary: Machine detection with if-then-else
description: Machine detection with if-then-else
value:
name: Machine detection if-then-else
description: This example uses machine detection with if-else to detect if answering machine has answered the call, and based on that information branches the execution of the IVR scenario.
script:
- machineDetection
- if: ${machineAnswered == true}
then:
- hangup
else:
- say: Hello human.
Machine detection with switch-case:
summary: Machine detection with switch-case
description: Machine detection with switch-case
value:
name: Machine detection with switch-case
description: This example uses machine detection with switch-case to detect if answering machine has answered the call, and based on that information branches the execution of the IVR scenario.
script:
- machineDetection
- case:
'true':
- hangup
__default:
- say: Hello. Human has answered the call.
switch: machineAnswered
Pause:
summary: Pause
description: Pause
value:
name: Pause
description: Create a pause of 2 seconds, for example between 2 say actions.
script:
- say: Hello, saying something before I make a pause of 2 seconds.
- pause: 2
- say: Phew, that felt like forever.
Play from url:
summary: Play from url
description: Play from url
value:
name: Play from url
description: Play from url
script:
- playFromUrl: https://www.example.com/voice/sound.mp3
Play from Recording where recording was in a previous call:
summary: Play from Recording where recording was in a previous call
description: Play from Recording where recording was in a previous call
value:
name: Play From Recording where recording was in a previous call
description: Play the recording of a previous call. All you have to do is to provide the recording id.
script:
- playFromRecording: recordingId
Play from uploaded file:
summary: Play from uploaded file
description: Play from uploaded file
value:
name: Play from uploaded file
description: Play the file uploaded through IVR upload API.
script:
- playFromUpload: f75ff9ca-20ce-47b7-ab0c-8adcb9725bb0
options:
loopCount: 3
Play TTY:
summary: Play TTY
description: Play TTY
value:
name: Play TTY test
description: TTY text output using Baudot tones
script:
- playTty: Welcome to TTY system
- hangup
Play TTY with collect:
summary: Play TTY with collect
description: Play TTY with collect
value:
name: Play TTY with collect
description: Play TTY action combined with Collect to gather user input
script:
- playTty: Enter your PIN
- collectInto: pin
options:
maxInputLength: 4
- hangup
Record:
summary: Record
description: Record
value:
name: Record
description: Record users call
script:
- record: 10
options:
escapeDigits: 123*
beep: true
maxSilence: 3
identifier: ${varName}
Record & play from recording:
summary: Record & play from recording
description: Record & play from recording
value:
name: Record & play from recording
description: Record a voice mail and play the recording back to the user.
script:
- say: After this message, we will record you for 10 seconds and play back the recording to you. Please speak after the beep sound.
- record: 10
options:
beep: true
identifier: recordVariable
escapeDigits: '1'
maxSilence: 3
- playFromRecording: recordVariable
Repeat-While:
summary: Repeat-While
description: Repeat-While
value:
name: Repeat-While
description: Repeat-While
script:
- setVariable: i
value: '1'
- repeat:
- setVariable: i
value: ${i + 1}
- playFromUrl: http://www.example.com/file.wav
while: ${i < 4}
- hangup
Say:
summary: Say
description: Say
value:
name: Say
description: Say
script:
- say: Hello. You have successfully used a Say Action in IVR.
Say with custom voice options:
summary: Say with custom voice options
description: Say with custom voice options
value:
name: Say with custom voice options
description: Say with custom voice options
script:
- say: Hello. You have successfully used a Say Action in IVR with custom voice options.
options:
speechRate: 2
language: en
voice:
name: Joanna
gender: FEMALE
Say with variables:
summary: Say with variables
description: Say with variables
value:
name: Say with variables
description: Say example with variables
script:
- say: Hello ${userNameVariable}. You have successfully used a Say Action in IVR with a variable.
Say with a pause in between words:
summary: Say with a pause in between words
description: Say with a pause in between words
value:
name: Say with a pause in between words
description: Say with a pause in between words
script:
- say: Hello ,, You have successfully used a Say Action in IVR with a pause.
Set Variable:
summary: Set Variable
description: Set Variable
value:
name: Set Variable
description: Set Variable
script:
- say: DTMFs will be collected now
- collectInto: dtmf
- switch: dtmf
case:
'1':
- say: You pressed 1
'2':
- say: You pressed 2
__default:
- setVariable: dtmf
value: '1'
- say: You did not press 1 nor 2. Setting DTMF variable to 1.
- hangup
Send SMS:
summary: Send SMS
description: Send SMS
value:
name: Send SMS
description: Send SMS
script:
- sendSms:
text: Hello
from: InfoSMS
to: ${to}
Switch-Case:
summary: Switch-Case
description: Switch-Case
value:
name: Switch-Case
description: Switch-Case
script:
- switch: myVariable
case:
'1':
- dial: '41793026731'
'2':
- playFromUrl: https://www.example.com/voice/advanced
'3':
- request: https://example.com/api/12345
options:
method: POST
headers:
content-type: application/json
body:
payload: ${to} finished the IVR.
'4':
- request: https://example.com/api/12345
options:
method: GET
collectResponse: true
'5':
- request: https://example.com/api/12345
options:
method: PUT
headers:
content-type: application/xml
accept: application/xml
body: ${to} finished the IVR.
collectResponse: true
__default:
- say: Dear Customer, you pressed wrong number. Please, try again.
- collectInto: myVariable
options:
maxInputLength: 1
'Use case: Checking order':
summary: 'Use case: Checking order'
description: 'Use case: Checking order'
value:
name: 'Use case: Checking order'
description: Checking order
script:
- say: Welcome to Acme Co Delivery. To track your package, please enter your 5 digit your tracking number.
- collectInto: code
options:
maxInputLength: 5
- request: https://example.com/api/12345
options:
method: POST
headers:
content-type: application/json
body:
code: ${code}
collectResponse: true
- say: responseMessage
- say: If you have any questions or need to reschedule the delivery, press 1 to speak with an agent.
- collectInto: satisfiedAnswer
- switch: satisfiedAnswer
case:
'1':
- dial: '41793026731'
- hangup
'Use case: Scheduling appointment':
summary: 'Use case: Scheduling appointment'
description: 'Use case: Scheduling appointment'
value:
name: 'Use case: Scheduling appointment'
description: Scheduling appointment
script:
- say: Dear client, we would like to schedule an appointment on 14.10. Available time is 10:00 am, 11 am and 2:00 pm. Please press 1 for 10 am, 2 for 11 or 3 for a 2 pm meeting. If non of the above suits you, we will send new message suggesting different time frame.
- collectInto: scheduleTime
- switch: scheduleTime
case:
'1':
- say: Thank you. Your appointment is scheduled for 10 am.
'2':
- say: Thank you. Your appointment is scheduled for 11 am.
'3':
- say: Thank you. Your appointment is scheduled for 2 pm.
__default:
- say: Thank you We will suggest another time slot once it’s available.
- hangup
- say: Thank you. Your appointment is scheduled.
- hangup
While-Do:
summary: While-Do
description: While-Do
value:
name: While-Do
description: While-Do
script:
- setVariable: i
value: '1'
- while: ${i < 4}
do:
- playFromUrl: http://www.example.com/file${i}.wav
- setVariable: i
value: ${i + 1}
- hangup
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.UpdateScenarioResponse'
examples:
Response example:
summary: Response example
value:
id: E83E787CF2613450157ADA3476171E3F
name: My Scenario
description: Scenario to send a message
createTime: 2023-09-14T15:13:36.735+0000
script:
- sendSms:
text: Hello
to: ${to}
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
/voice/ivr/1/scenarios/{id}:
get:
tags:
- channels
summary: Get a Voice IVR Scenario
description: This method allows you to get a Voice IVR Scenario.
operationId: get-a-voice-ivr-scenario
parameters:
- name: id
in: path
description: Scenario identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.UpdateScenarioResponse'
examples:
Response example:
summary: Response example
value:
id: E83E787CF2613450157ADA3476171E3F
name: My Scenario
description: Scenario to send a message
createTime: 2023-09-14T15:13:36.735+0000
updateTime: 2023-09-14T16:20:32.432+0000
lastUsageDate: '2023-09-14'
script:
- sendSms:
text: Hello
to: ${to}
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
put:
tags:
- channels
summary: Update Voice IVR Scenarios
description: This method allows you to update a Voice IVR Scenario. Changes may take up to 10 minutes to apply.
operationId: update-voice-ivr-scenario
parameters:
- name: id
in: path
description: Scenario identifier.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.UpdateScenarioRequest'
examples:
Call API:
summary: Call API
description: Call API
value:
name: Call API
description: Perform a POST request to provided URL with headers and payload.
script:
- request: https://example.com/api/12345
options:
method: POST
headers:
content-type: application/json
body:
payload: ${to} finished the IVR.
Call Api to send collected DTMFs:
summary: Call Api to send collected DTMFs
description: Call Api to send collected DTMFs
value:
name: Call Api
description: Collect users input and submits it with a POST request to a url.
script:
- say: Hello, please press 1 if you wish to subscribe to our newsletter.
- collectInto: myCollectedVariable
options:
maxInputLength: 1
timeout: 5
- request: https://example.com/subscription
options:
method: POST
headers:
custom-header: header-value
body:
shouldSubscribe: ${myCollectedVariable}
- if: ${myCollectedVariable == 1}
then:
- say: You subscribed successfully.
Call Api with response:
summary: Call Api with response
description: Call Api with response
value:
name: Call Api with collected response
description: Collect users input and submit it with a POST request to a url, and play the response back to the user. Let's assume the response is a simple JSON object that has only one field with a key called 'responseText' and value defined by the clients API.
script:
- say: Hello, please press 1 if you wish to subscribe to our newsletter.
- collectInto: myCollectedVariable
options:
maxInputLength: 1
timeout: 5
- request: https://example.com/subscription
options:
method: POST
headers:
custom-header: header-value
body:
shouldSubscribe: ${myCollectedVariable}
collectResponse: true
- say: ${responseText}
Capture:
summary: Capture
description: Capture
value:
name: Capture speech
description: Capture users speech and branch the call based on the spoken words.
script:
- say: Say yes or no
- capture: myVar
timeout: 3
speechOptions:
language: en-US
maxSilence: 2
keyPhrases:
- 'yes'
- 'no'
- if: ${myVar == 'yes'}
then:
- say: Ok. I will send you more details
else: []
- if: ${myVar == 'no'}
then:
- say: Thank you for listening.
else: []
- if: ${myVar == ''}
then:
- say: I did not understand
else: []
- hangup
Capture speech or digit:
summary: Capture speech or digit
description: Capture speech or digit
value:
name: Capture speech or digit
description: Capture speech or digit
script:
- say: Say discount or press 1 to get discount. Say exit or press 0 to exit.
- capture: myVar
timeout: 5
speechOptions:
language: en-US
maxSilence: 2
keyPhrases:
- discount
- exit
dtmfOptions:
maxInputLength: 1
- if: ${myVar == 'discount' || myVar == '1'}
then:
- say: You will get discount
else:
- if: ${myVar == 'exit' || myVar == '0'}
then:
- say: Goodbye
else:
- say: I did not understand
- hangup
Collect dtmf and branch call execution based on input:
summary: Collect dtmf and branch call execution based on input
description: Collect dtmf and branch call execution based on input
value:
name: Capture speech or digit
description: Capture speech or digit
script:
- say: Say discount or press 1 to get discount. Say exit or press 0 to exit.
- capture: myVar
timeout: 5
speechOptions:
language: en-US
maxSilence: 2
keyPhrases:
- discount
- exit
dtmfOptions:
maxInputLength: 1
- if: ${myVar == 'discount' || myVar == '1'}
then:
- say: You will get discount
else:
- if: ${myVar == 'exit' || myVar == '0'}
then:
- say: Goodbye
else:
- say: I did not understand
- hangup
Collect dtmf with default branch:
summary: Collect dtmf with default branch
description: Collect dtmf with default branch
value:
name: Collect dtmf with default branch
description: Based on the collected input, the execution is branched into 2 branches. If wrong digit is pressed or nothing is pressed, execute default branch.
script:
- say: Hello. Press 1 or 2. Or press any other digit or do not press anything for default message to be played.
- collectInto: myVariable
options:
maxInputLength: 1
timeout: 5
sendToReports: ALWAYS
mappedValues:
'1': pressed one
'2': pressed two
- case:
'1':
- say: You have pressed 1.
'2':
- say: You have pressed 2.
__default:
- say: You pressed some other key or didn't press anything
switch: myVariable
Dial:
summary: Dial
description: Dial
value:
name: Dial to a destination
description: Dial to a provided destination to bridge original call with the dialed call.
script:
- dial: '41793026731'
options:
senderId: '123456789'
maxCallDuration: 10
Dial from a variable:
summary: Dial from a variable
description: Dial from a variable
value:
name: Dial to a number resolved from a variable
description: Dial to a number resolved from a variable
script:
- dial: ${numberToDial}
options:
senderId: '123456789'
maxCallDuration: 10
Dial to Many - parallel:
summary: Dial to Many - parallel
description: Dial to Many - parallel
value:
name: Dial to Many - parallel
description: Dial multiple destinations in parallel. This means that all destinations will receive the call at the same time, but only the first who answers is connected.
script:
- dialToMany:
- number: '41793026741'
- number: '41793026801'
- number: '41793026653'
- number: '41793026142'
options:
parallel: true
senderId: '4179302614112'
maxCallDuration: 60
Dial to Many - sequential:
summary: Dial to Many - sequential
description: Dial to Many - sequential
value:
name: Dial to Many - example
description: Dial multiple destinations in sequential. This means that the provided destinations will be called one by one as defined in the action below. First who answers will be connected, and the next ones will not be called.
script:
- dialToMany:
- number: '41793026741'
- number: '41793026801'
- number: '41793026653'
- number: '41793026142'
options:
parallel: false
senderId: '4179302614112'
maxCallDuration: 60
Dial to Conversations:
summary: Dial to Conversations
description: Dial to Conversations
value:
name: Dial to Conversations
description: Dial to Conversations.
script:
- dialToConversations:
options:
tags:
- tag name 1
- tag name 2
Dial to Conversations with tagIdentifierType:
summary: Dial to Conversations with tagIdentifierType
description: Dial to Conversations with tagIdentifierType
value:
name: Dial to Conversations with tagIdentifierType
description: Dial to Conversations with tagIdentifierType.
script:
- dialToConversations:
options:
tagIdentifierType: ID
tags:
- aaaaaaaa-bbbb-cccc-1111-222222222222
- bbbbbbbb-cccc-eeee-2222-333333333333
For-Each:
summary: For-Each
description: For-Each
value:
name: For-Each
description: Use For-each to perform any action for each of provided values.
script:
- for-each: city
in: New York,Los Angeles,Boston
do:
- say: Hello from ${city}
Goto to repeat a message:
summary: Goto to repeat a message
description: Goto to repeat a message
value:
name: Goto to repeat say action n times
description: Repeat a message n times and then hang up
script:
- actionId: 1
say: Your password is 1, 2, 3, 4
- if: ${countVar == 3}
then:
- say: I will hangup now
- goTo: 1
options:
gotoLimit: 3
countVariable: countVar
- hangup
Goto limit reached:
summary: Goto limit reached
description: Goto limit reached
value:
name: Goto limit reached
description: Goto limit reached
script:
- say: Hello world
actionId: 1
- if: ${count_var == 3}
then:
- say: I will hangup now
- goTo: 1
options:
gotoLimit: 3
countVariable: count_var
- hangup
If-Then-Else:
summary: If-Then-Else
description: If-Then-Else
value:
name: If-Then-Else
description: If-Then-Else
script:
- if: ${number > 0}
then:
- say: Number ${number} is a positive number.
else:
- say: Number ${number} is a non-positive number.
Machine detection with advanced options:
summary: Machine detection with advanced options
description: Machine detection with advanced options
value:
description: Advanced machine detection
name: Advanced machine detection
script:
- answeringMachineDetection: true
options:
waitEndOfMessageDetection: ALWAYS
endOfMessageDetectionTimeout: 30
onDetecting:
- say: Thank you for using our services. We’re excited to reward your loyalty with free concert tickets.
onMachineDetected:
- say: It seems we've reached your voicemail. Please visit our website to learn more about the free tickets.
- hangup
onTimeout:
- hangup
- say: Please enter your preferred concert date. For example, to enter March 1st, press 0 1 0 3. Thank you!
- collectInto: concertDate
options:
maxInputLength: 8
- hangup
Machine detection with if-then-else:
summary: Machine detection with if-then-else
description: Machine detection with if-then-else
value:
name: Machine detection if-then-else
description: This example uses machine detection with if-else to detect if answering machine has answered the call, and based on that information branches the execution of the IVR scenario.
script:
- machineDetection
- if: ${machineAnswered == true}
then:
- hangup
else:
- say: Hello human.
Machine detection with switch-case:
summary: Machine detection with switch-case
description: Machine detection with switch-case
value:
name: Machine detection with switch-case
description: This example uses machine detection with switch-case to detect if answering machine has answered the call, and based on that information branches the execution of the IVR scenario.
script:
- machineDetection
- case:
'true':
- hangup
__default:
- say: Hello. Human has answered the call.
switch: machineAnswered
Pause:
summary: Pause
description: Pause
value:
name: Pause
description: Create a pause of 2 seconds, for example between 2 say actions.
script:
- say: Hello, saying something before I make a pause of 2 seconds.
- pause: 2
- say: Phew, that felt like forever.
Play from url:
summary: Play from url
description: Play from url
value:
name: Play from url
description: Play from url
script:
- playFromUrl: https://www.example.com/voice/sound.mp3
Play from Recording where recording was in a previous call:
summary: Play from Recording where recording was in a previous call
description: Play from Recording where recording was in a previous call
value:
name: Play From Recording where recording was in a previous call
description: Play the recording of a previous call. All you have to do is to provide the recording id.
script:
- playFromRecording: recordingId
Play from uploaded file:
summary: Play from uploaded file
description: Play from uploaded file
value:
name: Play from uploaded file
description: Play the file uploaded through IVR upload API.
script:
- playFromUpload: f75ff9ca-20ce-47b7-ab0c-8adcb9725bb0
options:
loopCount: 3
Play TTY:
summary: Play TTY
description: Play TTY
value:
name: Play TTY test
description: TTY text output using Baudot tones
script:
- playTty: Welcome to TTY system
- hangup
Play TTY with collect:
summary: Play TTY with collect
description: Play TTY with collect
value:
name: Play TTY with collect
description: Play TTY action combined with Collect to gather user input
script:
- playTty: Enter your PIN
- collectInto: pin
options:
maxInputLength: 4
- hangup
Record:
summary: Record
description: Record
value:
name: Record
description: Record users call
script:
- record: 10
options:
escapeDigits: 123*
beep: true
maxSilence: 3
identifier: ${varName}
Record & play from recording:
summary: Record & play from recording
description: Record & play from recording
value:
name: Record & play from recording
description: Record a voice mail and play the recording back to the user.
script:
- say: After this message, we will record you for 10 seconds and play back the recording to you. Please speak after the beep sound.
- record: 10
options:
beep: true
identifier: recordVariable
escapeDigits: '1'
maxSilence: 3
- playFromRecording: recordVariable
Repeat-While:
summary: Repeat-While
description: Repeat-While
value:
name: Repeat-While
description: Repeat-While
script:
- setVariable: i
value: '1'
- repeat:
- setVariable: i
value: ${i + 1}
- playFromUrl: http://www.example.com/file.wav
while: ${i < 4}
- hangup
Say:
summary: Say
description: Say
value:
name: Say
description: Say
script:
- say: Hello. You have successfully used a Say Action in IVR.
Say with custom voice options:
summary: Say with custom voice options
description: Say with custom voice options
value:
name: Say with custom voice options
description: Say with custom voice options
script:
- say: Hello. You have successfully used a Say Action in IVR with custom voice options.
options:
speechRate: 2
language: en
voice:
name: Joanna
gender: FEMALE
Say with variables:
summary: Say with variables
description: Say with variables
value:
name: Say with variables
description: Say example with variables
script:
- say: Hello ${userNameVariable}. You have successfully used a Say Action in IVR with a variable.
Say with a pause in between words:
summary: Say with a pause in between words
description: Say with a pause in between words
value:
name: Say with a pause in between words
description: Say with a pause in between words
script:
- say: Hello ,, You have successfully used a Say Action in IVR with a pause.
Set Variable:
summary: Set Variable
description: Set Variable
value:
name: Set Variable
description: Set Variable
script:
- say: DTMFs will be collected now
- collectInto: dtmf
- switch: dtmf
case:
'1':
- say: You pressed 1
'2':
- say: You pressed 2
__default:
- setVariable: dtmf
value: '1'
- say: You did not press 1 nor 2. Setting DTMF variable to 1.
- hangup
Send SMS:
summary: Send SMS
description: Send SMS
value:
name: Send SMS
description: Send SMS
script:
- sendSms:
text: Hello
from: InfoSMS
to: ${to}
Switch-Case:
summary: Switch-Case
description: Switch-Case
value:
name: Switch-Case
description: Switch-Case
script:
- switch: myVariable
case:
'1':
- dial: '41793026731'
'2':
- playFromUrl: https://www.example.com/voice/advanced
'3':
- request: https://example.com/api/12345
options:
method: POST
headers:
content-type: application/json
body:
payload: ${to} finished the IVR.
'4':
- request: https://example.com/api/12345
options:
method: GET
collectResponse: true
'5':
- request: https://example.com/api/12345
options:
method: PUT
headers:
content-type: application/xml
accept: application/xml
body: ${to} finished the IVR.
collectResponse: true
__default:
- say: Dear Customer, you pressed wrong number. Please, try again.
- collectInto: myVariable
options:
maxInputLength: 1
'Use case: Checking order':
summary: 'Use case: Checking order'
description: 'Use case: Checking order'
value:
name: 'Use case: Checking order'
description: Checking order
script:
- say: Welcome to Acme Co Delivery. To track your package, please enter your 5 digit your tracking number.
- collectInto: code
options:
maxInputLength: 5
- request: https://example.com/api/12345
options:
method: POST
headers:
content-type: application/json
body:
code: ${code}
collectResponse: true
- say: responseMessage
- say: If you have any questions or need to reschedule the delivery, press 1 to speak with an agent.
- collectInto: satisfiedAnswer
- switch: satisfiedAnswer
case:
'1':
- dial: '41793026731'
- hangup
'Use case: Scheduling appointment':
summary: 'Use case: Scheduling appointment'
description: 'Use case: Scheduling appointment'
value:
name: 'Use case: Scheduling appointment'
description: Scheduling appointment
script:
- say: Dear client, we would like to schedule an appointment on 14.10. Available time is 10:00 am, 11 am and 2:00 pm. Please press 1 for 10 am, 2 for 11 or 3 for a 2 pm meeting. If non of the above suits you, we will send new message suggesting different time frame.
- collectInto: scheduleTime
- switch: scheduleTime
case:
'1':
- say: Thank you. Your appointment is scheduled for 10 am.
'2':
- say: Thank you. Your appointment is scheduled for 11 am.
'3':
- say: Thank you. Your appointment is scheduled for 2 pm.
__default:
- say: Thank you We will suggest another time slot once it’s available.
- hangup
- say: Thank you. Your appointment is scheduled.
- hangup
While-Do:
summary: While-Do
description: While-Do
value:
name: While-Do
description: While-Do
script:
- setVariable: i
value: '1'
- while: ${i < 4}
do:
- playFromUrl: http://www.example.com/file${i}.wav
- setVariable: i
value: ${i + 1}
- hangup
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.UpdateScenarioResponse'
examples:
Response example:
summary: Response example
value:
- id: E83E787CF2613450157ADA3476171E3F
name: My Scenario
description: Scenario to send a message
createTime: 2023-09-14T15:13:36.735+0000
updateTime: 2023-09-14T16:20:32.432+0000
lastUsageDate: '2023-09-14'
script:
- sendSms:
text: Hello
to: ${to}
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
delete:
tags:
- channels
summary: Delete Voice IVR Scenarios
description: This method allows you to delete a Voice IVR Scenario.
operationId: delete-a-voice-ivr-scenario
parameters:
- name: id
in: path
description: Scenario identifier (for example E83E787CF2613450157ADA3476171E3F).
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: successful response
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
/voice/ivr/1/messages:
post:
tags:
- channels
summary: Launch IVR Scenario
description: This method allows you to start an outbound IVR toward a multiple destinations.
operationId: send-voice-messages-with-an-ivr-scenario
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.LaunchScenarioRequest'
examples:
Request example:
summary: Request example
value:
bulkId: BULK-ID-123-xyz
messages:
- scenarioId: 6298AA7707903A4ED680B436929681AD
from: '41793026700'
destinations:
- to: '41793026727'
- to: '41793026731'
notifyUrl: https://www.example.com/voice/advanced
notifyContentType: application/json
callbackData: DLR callback data
validityPeriod: 720
sendAt: 2023-10-03T12:21:00.632+0000
retry:
minPeriod: 1
maxPeriod: 5
maxCount: 5
record: false
deliveryTimeWindow:
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.LaunchScenarioRequest'
examples:
Request example:
summary: Request example
value: "\n \n BULK-ID-123-xyz\n \n \n \n \n \n 6298AA7707903A4ED680B436929681AD\n \n 41793026700\n \n \n \n \n \n 41793026727\n \n \n \n \n \n 41793026731\n \n \n \n \n \n https://www.example.com/voice/advanced\n \n application/json\n \n DLR callback data\n \n 720\n \n 2023-10-03T12:21:00.632+0000\n \n \n \n 1\n \n 5\n \n 5\n \n \n \n false\n \n \n \n \n \n 6\n \n 0\n \n \n \n \n \n 15\n \n 30\n \n \n \n \n \n MONDAY\n \n TUESDAY\n \n WEDNESDAY\n \n THURSDAY\n \n FRIDAY\n \n SATURDAY\n \n SUNDAY\n \n \n \n \n \n \n \n \n \n\n"
required: true
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.StandardVoiceResponse'
examples:
Response example:
summary: Response example
value:
bulkId: 5028e2d42f19-42f1-4656-351e-a42c191e5fd2
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
messageId: 4242f196ba50-a356-2f91-831c4aa55f351ed2
- to: '41793026731'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
messageId: 5f35f896ba50-a356-43a4-91cd81b85f8c689
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.StandardVoiceResponse'
examples:
Response example:
summary: Response example
value: "\n \n 5028e2d42f19-42f1-4656-351e-a42c191e5fd2\n \n \n \n \n \n 41793026727\n \n \n \n 1\n \n PENDING\n \n 26\n \n PENDING_ACCEPTED\n \n Message accepted, pending for delivery.\n \n \n \n 4242f196ba50-a356-2f91-831c4aa55f351ed2\n \n \n \n \n \n 41793026731\n \n \n \n 1\n \n PENDING\n \n 26\n \n PENDING_ACCEPTED\n \n Message accepted, pending for delivery.\n \n \n \n 5f35f896ba50-a356-43a4-91cd81b85f8c689\n \n \n \n \n \n\n"
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:message:send
- message:send
/voice/ivr/1/files:
get:
tags:
- channels
summary: Search Voice IVR Recorded Files
description: This method allows you to search Voice IVR Recorded Audio Files.
operationId: search-voice-ivr-recorded-files
parameters:
- name: page
in: query
description: Page number you want to see.
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: pageSize
in: query
description: Size of the page you want to see.
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: messageId
in: query
description: The message ID to search by.
required: false
style: form
explode: true
schema:
type: string
- name: number
in: query
description: The called phone number to search by.
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.RecordedAudioFilesResponse'
examples:
Response example:
summary: Response example
value:
files:
- messageId: 453e161a-fe4f-4f3c-80c0-ab520de9a969
from: '442032864231'
to: '38712345678'
scenarioId: C9CE33CF130511D8E333C1260BABA309
groupId: '#/script/1'
url: /voice/ivr/1/files/3C67336FA555A606C85FA9637906A6AB98436B7AFC65D857A416F6521D39F8F0E1D3D2469FF580D8968D3DD89A2DB561
recordedAt: 2023-10-25T12:36:37.234+0000
- messageId: 05b2859d-85c6-4068-9347-2e563b5c9cf4
from: '442032864231'
to: '38712345678'
scenarioId: 4A6177C9B92039306F1F091708851A2E
groupId: '#/script/1'
url: /voice/ivr/1/files/305DE72BA11D81D1BAED75BFC46706761580BDEC2218C22628447FD3814E7913D3058E4ECBFD6F55C80E976235EEB111
recordedAt: 2023-10-25T12:36:37.240+0000
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.RecordedAudioFilesResponse'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n 453e161a-fe4f-4f3c-80c0-ab520de9a969\n \n 442032864231\n \n 38712345678\n \n C9CE33CF130511D8E333C1260BABA309\n \n #/script/1\n \n /voice/ivr/1/files/3C67336FA555A606C85FA9637906A6AB98436B7AFC65D857A416F6521D39F8F0E1D3D2469FF580D8968D3DD89A2DB561\n \n 2023-10-25T12:36:37.234+0000\n \n \n \n \n \n 05b2859d-85c6-4068-9347-2e563b5c9cf4\n \n 442032864231\n \n 38712345678\n \n 4A6177C9B92039306F1F091708851A2E\n \n #/script/1\n \n /voice/ivr/1/files/305DE72BA11D81D1BAED75BFC46706761580BDEC2218C22628447FD3814E7913D3058E4ECBFD6F55C80E976235EEB111\n \n 2023-10-25T12:36:37.240+0000\n \n \n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
/voice/ivr/1/files/{id}:
get:
tags:
- channels
summary: Download Voice IVR Recorded File.
description: This method allows you to download Voice IVR Recorded Audio File. The returned audio data is encoded as PCM 16bit 8kHz WAVE audio. The files are available on Infobip servers for 2 months.
operationId: search-voice-ivr-recorded-file
parameters:
- name: id
in: path
description: File ID to download.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: successful response
content:
audio/vnd.wave:
schema:
type: string
format: binary
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
- ivr:configuration:manage
- message:send
/voice/ivr/1/uploads:
get:
tags:
- channels
summary: Get files
description: Get files with pagination. Maximum number of pages is 100.
operationId: ivr-upload-get-files
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5cb8669321a9b28a95445a23a292423b19c28f831eda62032aef9c6b53da7813.RouteResponsePage'
examples:
Route response page example:
summary: Route response page example
description: Example of a page of route responses that includes route with Phone destination and Route with SIP destination.
value:
results:
- id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: SIP endpoint route
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
string: string
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
string: string
filePrefix: string
type: ENDPOINT
transferOnly: false
- id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Phone endpoint route
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
string: string
filePrefix: string
type: ENDPOINT
transferOnly: false
paging:
page: 0
size: 20
totalPages: 1
totalResults: 2
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Upload file
description: 'Upload an audio file to be played in IVR calls. The file will be removed if it is not used for 90 days. Supported formats: `.wav` and `.mp3`.'
operationId: ivr-upload-audio-file
requestBody:
description: Audio file to be uploaded.
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.File'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- ivr:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/voice/ctc/1/send:
post:
tags:
- channels
summary: Send click-to-call message
description: This method allows you to send click-to-call voice messages.
externalDocs:
description: Learn more about click-to-call
url: https://www.infobip.com/docs/voice-and-video/click-to-call
operationId: send-click-to-call-message
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/977e3573b6848c404863a30ecae06e08186a75a9070af48acc4b4f99a371a9b7.ClickToCallApiRequest'
examples:
Click-to-call request example:
summary: Click-to-call request example
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
fromB: '41793026701'
destinationA: '41793026727'
destinationB: '41793026731'
messageId: MESSAGE-ID-123-xyz
text: Test Voice message.
language: en
voice:
gender: female
name: Joanna
anonymization: false
notifyUrl: https://www.example.com/voice/notify
notifyContentType: application/json
maxDuration: 60
warningTime: 5
retry:
minPeriod: 1
maxPeriod: 5
maxCount: 5
machineDetection: hangup
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
from:
hour: 6
minute: 0
to:
hour: 15
minute: 30
Message with default language and voice:
summary: Message with default language and voice
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Hello! You are being connected to our support team. Please hold.
Message with voice selection:
summary: Message with voice selection
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Hello! You are being connected to our support team. Please hold.
language: en
voice:
gender: female
name: Joanna
German language with male voice:
summary: German language with male voice
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Hallo! Sie werden jetzt mit unserem Support-Team verbunden. Bitte warten Sie.
language: de
voice:
gender: male
name: Hans
Spanish language without voice selection:
summary: Spanish language without voice selection
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Hola! Está siendo conectado con nuestro equipo de soporte. Por favor, espere.
language: es
Audio file played before transfer:
summary: Audio file played before transfer
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
audioFileUrl: https://www.example.com/audio/greeting.mp3
Anonymized call:
summary: Anonymized call
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
anonymization: true
Separate caller IDs for each party:
summary: Separate caller IDs for each party
value:
messages:
- from: '41793026700'
fromB: '41793026701'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
Machine detection with hangup:
summary: Machine detection with hangup
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Connecting you now.
language: en
machineDetection: hangup
Call duration limit with warning beep:
summary: Call duration limit with warning beep
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
maxDuration: 120
warningTime: 10
Retry on failed delivery:
summary: Retry on failed delivery
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
retry:
minPeriod: 1
maxPeriod: 10
maxCount: 3
Delivery time window restricted to business hours:
summary: Delivery time window restricted to business hours
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
from:
hour: 9
minute: 0
to:
hour: 17
minute: 0
Delivery report with notify URL:
summary: Delivery report with notify URL
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
Bulk request with multiple messages:
summary: Bulk request with multiple messages
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
messageId: MSG-001
text: Connecting your first call.
language: en
- from: '41793026700'
destinationA: '41793026728'
destinationB: '41793026732'
messageId: MSG-002
text: Connecting your second call.
language: en
Retry with schedule and delivery report:
summary: Retry with schedule and delivery report
value:
bulkId: BULK-ID-123-xyz
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
retry:
minPeriod: 5
maxPeriod: 30
maxCount: 4
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
from:
hour: 8
minute: 0
to:
hour: 20
minute: 0
'Outbound campaign: Announcement with machine detection and retry':
summary: 'Outbound campaign: Announcement with machine detection and retry'
value:
bulkId: BULK-ID-CAMPAIGN-001
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
messageId: MSG-CAMPAIGN-001
text: Hello! You have an incoming call from our support team. Please hold while we connect you.
language: en
voice:
gender: female
name: Joanna
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
retry:
minPeriod: 2
maxPeriod: 20
maxCount: 3
machineDetection: hangup
'Timed support connection: audio greeting with duration limit and delivery report':
summary: 'Timed support connection: audio greeting with duration limit and delivery report'
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
audioFileUrl: https://www.example.com/audio/greeting.mp3
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
maxDuration: 180
warningTime: 15
'Privacy-first scheduled call: anonymized with business hours and retry':
summary: 'Privacy-first scheduled call: anonymized with business hours and retry'
value:
messages:
- from: '41793026700'
destinationA: '41793026727'
destinationB: '41793026731'
text: Test Voice message.
anonymization: true
retry:
minPeriod: 10
maxPeriod: 60
maxCount: 2
deliveryTimeWindow:
days:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
from:
hour: 9
minute: 0
to:
hour: 18
minute: 0
'Full outbound agent connect: separate caller IDs, voice message, machine detection, and duration limit':
summary: 'Full outbound agent connect: separate caller IDs, voice message, machine detection, and duration limit'
value:
messages:
- from: '41793026700'
fromB: '41793026701'
destinationA: '41793026727'
destinationB: '41793026731'
text: Please hold, an agent will be with you shortly.
language: en
voice:
gender: female
name: Joanna
notifyUrl: https://www.example.com/delivery-report
notifyContentType: application/json
maxDuration: 300
warningTime: 20
machineDetection: hangup
application/xml:
schema:
$ref: '#/components/schemas/977e3573b6848c404863a30ecae06e08186a75a9070af48acc4b4f99a371a9b7.ClickToCallApiRequest'
examples:
Click-to-call request example:
summary: Click-to-call request example
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n 41793026701\n 41793026727\n 41793026731\n MESSAGE-ID-123-xyz\n Test Voice message.\n en\n \n female\n Joanna\n \n false\n https://www.example.com/voice/notify\n application/json\n 60\n 5\n \n 1\n 5\n 5\n \n hangup\n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n SATURDAY\n SUNDAY\n \n \n 6\n 0\n \n \n 15\n 30\n \n \n \n \n\n"
Message with default language and voice:
summary: Message with default language and voice
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Hello! You are being connected to our support team. Please hold.\n \n \n\n"
Message with voice selection:
summary: Message with voice selection
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Hello! You are being connected to our support team. Please hold.\n en\n \n female\n Joanna\n \n \n \n\n"
German language with male voice:
summary: German language with male voice
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Hallo! Sie werden jetzt mit unserem Support-Team verbunden. Bitte warten Sie.\n de\n \n male\n Hans\n \n \n \n\n"
Spanish language without voice selection:
summary: Spanish language without voice selection
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Hola! Está siendo conectado con nuestro equipo de soporte. Por favor, espere.\n es\n \n \n\n"
Audio file played before transfer:
summary: Audio file played before transfer
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n https://www.example.com/audio/greeting.mp3\n \n \n\n"
Anonymized call:
summary: Anonymized call
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n true\n \n \n\n"
Separate caller IDs for each party:
summary: Separate caller IDs for each party
value: "\n \n \n 41793026700\n 41793026701\n 41793026727\n 41793026731\n Test Voice message.\n \n \n\n"
Machine detection with hangup:
summary: Machine detection with hangup
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Connecting you now.\n en\n hangup\n \n \n\n"
Call duration limit with warning beep:
summary: Call duration limit with warning beep
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n 120\n 10\n \n \n\n"
Retry on failed delivery:
summary: Retry on failed delivery
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n \n 1\n 10\n 3\n \n \n \n\n"
Delivery time window restricted to business hours:
summary: Delivery time window restricted to business hours
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n \n \n 9\n 0\n \n \n 17\n 0\n \n \n \n \n\n"
Delivery report with notify URL:
summary: Delivery report with notify URL
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n https://www.example.com/delivery-report\n application/json\n \n \n\n"
Bulk request with multiple messages:
summary: Bulk request with multiple messages
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n 41793026727\n 41793026731\n MSG-001\n Connecting your first call.\n en\n \n \n 41793026700\n 41793026728\n 41793026732\n MSG-002\n Connecting your second call.\n en\n \n \n\n"
Retry with schedule and delivery report:
summary: Retry with schedule and delivery report
value: "\n BULK-ID-123-xyz\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n https://www.example.com/delivery-report\n application/json\n \n 5\n 30\n 4\n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n \n \n 8\n 0\n \n \n 20\n 0\n \n \n \n \n\n"
'Outbound campaign: Announcement with machine detection and retry':
summary: 'Outbound campaign: Announcement with machine detection and retry'
value: "\n BULK-ID-CAMPAIGN-001\n \n \n 41793026700\n 41793026727\n 41793026731\n MSG-CAMPAIGN-001\n Hello! You have an incoming call from our support team. Please hold while we connect you.\n en\n \n female\n Joanna\n \n https://www.example.com/delivery-report\n application/json\n \n 2\n 20\n 3\n \n hangup\n \n \n\n"
'Timed support connection: audio greeting with duration limit and delivery report':
summary: 'Timed support connection: audio greeting with duration limit and delivery report'
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n https://www.example.com/audio/greeting.mp3\n https://www.example.com/delivery-report\n application/json\n 180\n 15\n \n \n\n"
'Privacy-first scheduled call: anonymized with business hours and retry':
summary: 'Privacy-first scheduled call: anonymized with business hours and retry'
value: "\n \n \n 41793026700\n 41793026727\n 41793026731\n Test Voice message.\n true\n \n 10\n 60\n 2\n \n \n \n MONDAY\n TUESDAY\n WEDNESDAY\n THURSDAY\n FRIDAY\n \n \n 9\n 0\n \n \n 18\n 0\n \n \n \n \n\n"
'Full outbound agent connect: separate caller IDs, voice message, machine detection, and duration limit':
summary: 'Full outbound agent connect: separate caller IDs, voice message, machine detection, and duration limit'
value: "\n \n \n 41793026700\n 41793026701\n 41793026727\n 41793026731\n Please hold, an agent will be with you shortly.\n en\n \n female\n Joanna\n \n https://www.example.com/delivery-report\n application/json\n 300\n 20\n hangup\n \n \n\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value:
bulkId: 4fda521a-c680-470d-b134-83d468f7ac80
messages:
- to: '41793026727'
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
messageId: 2250be2d4219-3af1-78856-aabe-1362af1edfd2
application/xml:
schema:
$ref: '#/components/schemas/97cb4ba23432eb0e600ef0617ae1982d499839ef41226973c71dfb335b3071b8.StandardVoiceResponse'
examples:
Successful response example:
summary: Successful response example
value: "\n 4fda521a-c680-470d-b134-83d468f7ac80\n \n \n 41793026727\n \n 1\n PENDING\n 26\n PENDING_ACCEPTED\n Message accepted, pending for delivery.\n \n 2250be2d4219-3af1-78856-aabe-1362af1edfd2\n \n \n\n"
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- clicktocall:manage
x-throttling-info:
- type: time
numberOfRequests: 2000
numberOfTimeUnits: 0
timeUnit: s
/voice/1/reports:
get:
tags:
- channels
summary: Get Voice Delivery Reports
description: This method allows you to get delivery reports for sent Voice messages, outbound IVR or Click-to-call (without notifyUrl request parameter). Delivery reports are returned only once. Additional delivery report request will return an empty collection.
operationId: get-voice-delivery-reports
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination addresses.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the message sent.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: The maximum number of returned delivery reports. Default value is 50.
required: false
style: form
explode: true
schema:
type: integer
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.ReportResponse'
examples:
Response example:
summary: Response example
value:
results:
- bulkId: 8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb
messageId: ff4804ef-6ab6-4abd-984d-ab3b1387e852
from: '385333444'
to: '385981178'
sentAt: 2018-06-25T13:38:14.730+0000
mccMnc: '21901'
callbackData: DLR callback data
voiceCall:
feature: Voice-message
startTime: 2018-06-25T13:38:15.000+0000
answerTime: 2018-06-25T13:38:25.000+0000
endTime: 2018-06-25T13:38:28.316+0000
duration: 10
chargedDuration: 30
fileDuration: 19.3
dtmfCodes: 3, 9
ivr:
scenarioId: '333'
scenarioName: Scenario name
collectedDtmfs: '{"myFirstVar":"3","mySecondVar":"9"}'
collectedMappedDtmfs: null
spokenInput: null
matchedSpokenInput: null
price:
pricePerSecond: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 5000
name: VOICE_ANSWERED
description: Call answered by human
permanent: true
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.ReportResponse'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n 8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb\n \n ff4804ef-6ab6-4abd-984d-ab3b1387e852\n \n 385333444\n \n 385981178\n \n 2018-06-25T13:38:14.730+0000\n \n 21901\n \n DLR callback data\n \n \n \n Voice-message\n \n 2018-06-25T13:38:15.000+0000\n \n 2018-06-25T13:38:25.000+0000\n \n 2018-06-25T13:38:28.316+0000\n \n 10\n \n 30\n \n 19.3\n \n 3, 9\n \n \n \n 333\n \n Scenario name\n \n {\"myFirstVar\":\"3\",\"mySecondVar\":\"9\"}\n \n \n \n \n \n \n \n \n \n \n \n \n \n 0.01\n \n EUR\n \n \n \n \n \n 3\n \n DELIVERED\n \n 5\n \n DELIVERED_TO_HANDSET\n \n Message delivered to handset\n \n \n \n \n \n 0\n \n OK\n \n 5000\n \n VOICE_ANSWERED\n \n Call answered by human\n \n true\n \n \n \n \n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
4XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
5XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice-reports:read
- voice:logs:read
- message:send
/tts/3/reports:
get:
tags:
- channels
summary: Get Voice Delivery Reports
description: 'This version is deprecated as of July 1st 2020, meaning no fixes/updates will be provided and no new parameters will be added.
"We strongly advise you to update to new [delivery report method](https://www.infobip.com/docs/api/channels/voice/voice-reports-and-logs/get-voice-delivery-reports).
'
operationId: get-voice-delivery-reports-deprecated
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination addresses.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the message sent.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: The maximum number of returned delivery reports. Default value is 50.
required: false
style: form
explode: true
schema:
type: integer
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.VoiceReportResponse'
examples:
Response example:
summary: Response example
value:
results:
- bulkId: 8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb
messageId: ff4804ef-6ab6-4abd-984d-ab3b1387e852
to: '385981178'
sentAt: 2018-06-25T13:38:14.730+0000
doneAt: 2018-06-25T13:38:28.318+0000
startTime: 2018-06-25T13:38:15.000+0000
endTime: 2018-06-25T13:38:28.316+0000
answerTime: 2018-06-25T13:38:25.000+0000
duration: 10
fileDuration: 19.3
mccMnc: '21901'
callbackData: DLR callback data
dtmfCodes: '1'
recordedAudioFileUrl: /tts/3/files/ff4804ef-6ab6-4abd-984d-ab3b1387e852/385981178
price:
pricePerSecond: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 5000
name: VOICE_ANSWERED
description: Call answered by human
permanent: true
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.VoiceReportResponse'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n 8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb\n \n ff4804ef-6ab6-4abd-984d-ab3b1387e852\n \n 385981178\n \n 2018-06-25T13:38:14.730+0000\n \n 2018-06-25T13:38:28.318+0000\n \n 2018-06-25T13:38:15.000+0000\n \n 2018-06-25T13:38:28.316+0000\n \n 2018-06-25T13:38:25.000+0000\n \n 10\n \n 19.3\n \n 21901\n \n DLR callback data\n \n 1\n \n /tts/3/files/ff4804ef-6ab6-4abd-984d-ab3b1387e852/385981178\n \n \n \n 0.01\n \n EUR\n \n \n \n \n \n 3\n \n DELIVERED\n \n 5\n \n DELIVERED_TO_HANDSET\n \n Message delivered to handset\n \n \n \n \n \n 0\n \n OK\n \n 5000\n \n VOICE_ANSWERED\n \n Call answered by human\n \n true\n \n \n \n \n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
4XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
5XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
deprecated: true
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice-message:manage
- voice-message:logs:read
- message:send
x-deprecationInformation:
deprecation: '2020-07-01T00:00:00Z'
successorOperationId: get-voice-delivery-reports
/tts/3/logs:
get:
tags:
- channels
summary: Get sent Voice logs
description: This method allows you to get logs of sent Voice messages. Voice logs are available for the last 48 hours!
operationId: get-sent-voice-logs
parameters:
- name: from
in: query
description: The sender ID which can be alphanumeric or numeric.
required: false
style: form
explode: true
schema:
type: string
- name: to
in: query
description: Destination address of the voice message.
required: false
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: The ID which uniquely identifies the request.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the message sent.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: generalStatus
in: query
description: Sent voice message status group. Indicates whether the message has been successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.IpCoreGeneralStatus'
- name: sentSince
in: query
description: 'Lower limit on date and time of sending a Voice message. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSXXX.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
- name: sentUntil
in: query
description: 'Upper limit on date and time of sending a Voice message. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSXXX.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
- name: limit
in: query
description: Maximal number of messages in the returned logs. Default value is 50.
required: false
style: form
explode: true
schema:
type: integer
format: int32
- name: mcc
in: query
description: Mobile country code.
required: false
style: form
explode: true
schema:
type: string
- name: mnc
in: query
description: Mobile network code.
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.LogsResponse'
examples:
Response example:
summary: Response example
value:
results:
- bulkId: 06479ba3-5977-47f6-9346-fee0369bc76b
messageId: 1f21d8d7-f306-4f53-9f6e-eddfce9849ea
to: '41793026727'
from: '41793026700'
text: Test voice message.
sentAt: 2023-08-10T07:36:42.187+0000
doneAt: 2023-08-10T07:36:43.194+0000
duration: 10
mccMnc: '22801'
price:
pricePerSecond: 0.01
currency: EUR
status:
groupId: 3
groupName: DELIVERED
id: 5
name: DELIVERED_TO_HANDSET
description: Message delivered to handset
error:
groupId: 0
groupName: OK
id: 5003
name: EC_VOICE_NO_ANSWER
description: User was notified, but did not answer call
permanent: true
application/xml:
schema:
$ref: '#/components/schemas/13d6cf838c63455fe28fcf6ab1b4447c03d816f87ce89525d3cd759ca08a7b1a.LogsResponse'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n 06479ba3-5977-47f6-9346-fee0369bc76b\n \n 1f21d8d7-f306-4f53-9f6e-eddfce9849ea\n \n 41793026727\n \n 41793026700\n \n Test voice message.\n \n 2023-08-10T07:36:42.187+0000\n \n 2023-08-10T07:36:43.194+0000\n \n 10\n \n 22801\n \n \n \n 0.01\n \n EUR\n \n \n \n \n \n 3\n \n DELIVERED\n \n 5\n \n DELIVERED_TO_HANDSET\n \n Message delivered to handset\n \n \n \n \n \n 0\n \n OK\n \n 5003\n \n EC_VOICE_NO_ANSWER\n \n User was notified, but did not answer call\n \n true\n \n \n \n \n \n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
4XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
'500':
$ref: '#/components/responses/ApiException500'
5XX:
description: Error responses
content:
application/json:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: string
text: string
application/xml:
schema:
$ref: '#/components/schemas/31756dca18d13ab491063defb0eba5e91f72bccd700f710f44794c6f1df9c9ea.ApiException'
examples:
Response example:
summary: Response example
value: "\n \n \n \n \n \n String\n \n String\n \n \n \n \n \n\n"
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice-message:manage
- voice-message:logs:read
- message:send
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
/voice/masking/2/config:
get:
tags:
- channels
summary: Get number masking configurations
description: This method allows you to get all voice number masking configurations.
operationId: get-number-masking-configurations
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/2f772c02a4c3391667bfa54680f8db54477fb2b9100309bf0d515e4ee848facc.SetupResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Configurations not found:
summary: Configurations not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Masking configurations not found.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
post:
tags:
- channels
summary: Create number masking configuration
description: This method allows you to create masking configuration.
operationId: create-number-masking-configuration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/2f772c02a4c3391667bfa54680f8db54477fb2b9100309bf0d515e4ee848facc.SetupBody'
examples:
Request example:
summary: Request example
value:
name: UniqueConfigurationName
callbackUrl: https://example.com/1/callback
statusUrl: https://example.com/1/status
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/2f772c02a4c3391667bfa54680f8db54477fb2b9100309bf0d515e4ee848facc.SetupResponse'
examples:
Response example:
summary: Response example
value:
key: 3FC0C9CB4AFAEAC67E8FC6BA3B1E044A
name: UniqueConfigurationName
callbackUrl: https://example.com/1/callback
statusUrl: https://example.com/1/status
insertDateTime: '2019-08-16T09:11:36.573'
updateDateTime: '2019-08-16T09:11:36.573'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Invalid setup body:
summary: Invalid setup body
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
name:
- Setup name is required.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
/voice/masking/2/config/{key}:
get:
tags:
- channels
summary: Get number masking configuration
description: This method allows you to get a Voice number masking configuration.
operationId: get-number-masking-configuration
parameters:
- name: key
in: path
description: Masking configuration identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/2f772c02a4c3391667bfa54680f8db54477fb2b9100309bf0d515e4ee848facc.SetupResponse'
examples:
Response example:
summary: Response example
value:
key: 3FC0C9CB4AFAEAC67E8FC6BA3B1E044A
name: UniqueConfigurationName
callbackUrl: https://example.com/1/callback
statusUrl: https://example.com/1/status
insertDateTime: '2019-08-16T09:11:36.573'
updateDateTime: '2019-08-16T09:11:36.573'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Invalid key:
summary: Invalid key
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Make sure you provided a valid key parameter.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Configuration not found:
summary: Configuration not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Masking configuration not found.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
put:
tags:
- channels
summary: Update number masking configuration
description: This method allows you to update a Voice number masking configuration.
operationId: update-number-masking-configuration
parameters:
- name: key
in: path
description: Masking configuration identifier.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/2f772c02a4c3391667bfa54680f8db54477fb2b9100309bf0d515e4ee848facc.SetupBody'
examples:
Request example:
summary: Request example
value:
name: UniqueConfigurationName
callbackUrl: https://example.com/1/callback
statusUrl: https://example.com/1/status
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/2f772c02a4c3391667bfa54680f8db54477fb2b9100309bf0d515e4ee848facc.SetupResponse'
examples:
Response example:
summary: Response example
value:
key: 3FC0C9CB4AFAEAC67E8FC6BA3B1E044A
name: UniqueConfigurationName
callbackUrl: https://example.com/1/callback
statusUrl: https://example.com/1/status
insertDateTime: '2019-08-16T09:11:36.573'
updateDateTime: '2019-08-16T09:11:36.573'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Invalid setup body:
summary: Invalid setup body
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
name:
- Setup name is required.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Configuration not found:
summary: Configuration not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Masking configuration not found.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
delete:
tags:
- channels
summary: Delete number masking configuration
description: This method allows you to delete a Voice number masking configuration.
operationId: delete-number-masking-configuration
parameters:
- name: key
in: path
description: Masking configuration identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Invalid key:
summary: Invalid key
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Make sure you provided a valid key parameter.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Configuration not found:
summary: Configuration not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Masking configuration not found.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
/voice/masking/1/upload:
post:
tags:
- channels
summary: Upload audio files
description: This method allows uploading audio files that can be used on Infobip Voice platform. The method accepts either a URL or an uploaded audio file in the request body. Using both or neither will cause the request to be rejected.
operationId: upload-audio-files
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/9ecece8e0bfcbe5cd4fc1dd17fb7c9f9ae92bd39a74bbe56daee9e0629666e59.UploadBody'
examples:
Using URL to audio file:
summary: Using URL to audio file
value:
url: https://example.com/audio.mp3
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/9ecece8e0bfcbe5cd4fc1dd17fb7c9f9ae92bd39a74bbe56daee9e0629666e59.UploadResponse'
examples:
Upload file response:
summary: Upload file response
value:
fileId: cb702ae4-f356-4efd-b2dd-7a667b570af5
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
/voice/masking/2/credentials:
get:
tags:
- channels
summary: Get number masking credentials
description: This method allows you to get Voice number masking credentials.
operationId: get-number-masking-credentials
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/56fc13d85fd8c7d40ac0157103bb5ccebc0bb2862850603cc2c5a808276f4742.CredentialsResponse'
examples:
Response example:
summary: Response example
value:
apiId: 55ddccad2df62a4b615b7e3c472b2ab6
key: 5da086b6a8e4424993646b8699c333ca
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Credentials not found:
summary: Credentials not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Credentials not found.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
put:
tags:
- channels
summary: Update number masking credentials
description: This method allows you to update Voice number masking credentials.
operationId: update-number-masking-credentials
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/56fc13d85fd8c7d40ac0157103bb5ccebc0bb2862850603cc2c5a808276f4742.CredentialsBody'
examples:
Request example:
summary: Request example
value:
apiId: 55ddccad2df62a4b615b7e3c472b2ab6
key: 5da086b6a8e4424993646b8699c333ca
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/56fc13d85fd8c7d40ac0157103bb5ccebc0bb2862850603cc2c5a808276f4742.CredentialsResponse'
examples:
Response example:
summary: Response example
value:
apiId: 55ddccad2df62a4b615b7e3c472b2ab6
key: 5da086b6a8e4424993646b8699c333ca
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
post:
tags:
- channels
summary: Create number masking credentials
description: This method allows you to create Voice number masking credentials.
operationId: create-number-masking-credentials
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/56fc13d85fd8c7d40ac0157103bb5ccebc0bb2862850603cc2c5a808276f4742.CredentialsBody'
examples:
Request example:
summary: Request example
value:
apiId: 55ddccad2df62a4b615b7e3c472b2ab6
key: 5da086b6a8e4424993646b8699c333ca
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/56fc13d85fd8c7d40ac0157103bb5ccebc0bb2862850603cc2c5a808276f4742.CredentialsResponse'
examples:
Response example:
summary: Response example
value:
apiId: 55ddccad2df62a4b615b7e3c472b2ab6
key: 5da086b6a8e4424993646b8699c333ca
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Credentials already exist:
summary: Credentials already exist
value:
requestError:
serviceException:
messageId: FORBIDDEN
text: Credentials already exist.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
delete:
tags:
- channels
summary: Delete number masking credentials
description: This method allows you to delete Voice number masking credentials.
operationId: delete-number-masking-credentials
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ac429fcfd24f9a7e1a25e07a88be90c98df1692e2811a989e35dc3301ebb4715.ApiException'
examples:
Credentials not found:
summary: Credentials not found
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Credentials not found.
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- numbermasking:manage
/callrouting/1/routes:
get:
tags:
- channels
summary: Get call routes
description: Get existing call routes with pagination.
operationId: get-call-routes
parameters:
- name: nameContains
in: query
description: String contained in the name of the route, case-insensitive.
required: false
style: form
explode: true
schema:
type: string
maxLength: 255
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/5cb8669321a9b28a95445a23a292423b19c28f831eda62032aef9c6b53da7813.RouteResponsePage'
examples:
Route response page example:
summary: Route response page example
description: Example of a page of route responses that includes route with Phone destination and Route with SIP destination.
value:
results:
- id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: SIP endpoint route
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
string: string
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
string: string
filePrefix: string
type: ENDPOINT
transferOnly: false
- id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Phone endpoint route
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
string: string
filePrefix: string
type: ENDPOINT
transferOnly: false
paging:
page: 0
size: 20
totalPages: 1
totalResults: 2
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
post:
tags:
- channels
summary: Create a call route
description: Create a new call route.
operationId: create-call-route
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteRequest'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
name: Route with a SIP endpoint destination
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
name: Route with a phone endpoint destination
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a SIP endpoint destination with failover to a phone endpoint destination:
summary: Route with a SIP endpoint destination with failover to a phone endpoint destination
value:
name: Route with a SIP endpoint destination with failover to a phone endpoint destination
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with an URL endpoint destination:
summary: Route with an URL endpoint destination
value:
name: Route with an URL endpoint destination
destinations:
- url: https://www.example.com
securityConfig:
username: user
type: BASIC
type: URL
transferOnly: false
Route with two SIP endpoints destinations in round-robin configuration:
summary: Route with two SIP endpoints destinations in round-robin configuration
value:
name: Route with two SIP endpoints destinations in round-robin configuration
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
priority: 1
weight: 50
type: ENDPOINT
- value:
username: '41793026834'
sipTrunkId: 92d871fj8i802ip
customHeaders:
key1: value1
type: SIP
priority: 1
weight: 50
type: ENDPOINT
transferOnly: false
Route with a PHONE search criteria:
summary: Route with a PHONE search criteria
value:
name: Route with a PHONE search criteria
criteria:
- to: 41793(.+)
value:
from: 41793(.+)
type: PHONE
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a SIP search criteria:
summary: Route with a SIP search criteria
value:
name: Route with a SIP search criteria
criteria:
- to: 41793(.+)
value:
sipTrunkId: 60d345fd3a799ec
username: 41793(.+)
headers:
- headerName: X-Header-Name
headerValue: 41793(.+)
type: SIP
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
X-Identity: john.doe
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a WebRTC search criteria:
summary: Route with a WebRTC search criteria
value:
name: Route with a WebRTC search criteria
criteria:
- value:
type: WEBRTC
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
required: true
responses:
'201':
description: Route Successfully Created
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: create.route.destinations[0].value.sipTrunkId must not be blank
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
/callrouting/1/routes/{routeId}:
get:
tags:
- channels
summary: Get a call route
description: Get an existing call route.
operationId: get-call-route
parameters:
- name: routeId
in: path
description: Route identifier
required: true
style: simple
explode: false
schema:
type: string
example: 56b3e3ea-e91f-44ed-9d57-c7f05cd358ba
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
put:
tags:
- channels
summary: Update a call route
description: Update an already existing call route. Fields that are not sent in the request body will take default values and overwrite existing ones.
operationId: update-call-route
parameters:
- name: routeId
in: path
description: Route identifier
required: true
style: simple
explode: false
schema:
type: string
example: 56b3e3ea-e91f-44ed-9d57-c7f05cd358ba
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteRequest'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
name: Route with a SIP endpoint destination
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
name: Route with a phone endpoint destination
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a SIP endpoint destination with failover to a phone endpoint destination:
summary: Route with a SIP endpoint destination with failover to a phone endpoint destination
value:
name: Route with a SIP endpoint destination with failover to a phone endpoint destination
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with an URL endpoint destination:
summary: Route with an URL endpoint destination
value:
name: Route with an URL endpoint destination
destinations:
- url: https://www.example.com
securityConfig:
username: user
type: BASIC
type: URL
transferOnly: false
Route with two SIP endpoints destinations in round-robin configuration:
summary: Route with two SIP endpoints destinations in round-robin configuration
value:
name: Route with two SIP endpoints destinations in round-robin configuration
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
priority: 1
weight: 50
type: ENDPOINT
- value:
username: '41793026834'
sipTrunkId: 92d871fj8i802ip
customHeaders:
key1: value1
type: SIP
priority: 1
weight: 50
type: ENDPOINT
transferOnly: false
Route with a PHONE search criteria:
summary: Route with a PHONE search criteria
value:
name: Route with a PHONE search criteria
criteria:
- to: 41793(.+)
value:
from: 41793(.+)
type: PHONE
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a SIP search criteria:
summary: Route with a SIP search criteria
value:
name: Route with a SIP search criteria
criteria:
- to: 41793(.+)
value:
sipTrunkId: 60d345fd3a799ec
username: 41793(.+)
headers:
- headerName: X-Header-Name
headerValue: 41793(.+)
type: SIP
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
X-Identity: john.doe
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
Route with a WebRTC search criteria:
summary: Route with a WebRTC search criteria
value:
name: Route with a WebRTC search criteria
criteria:
- value:
type: WEBRTC
destinations:
- value:
username: '41793026834'
sipTrunkId: 60d345fd3a799ec
customHeaders:
Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: rec
type: ENDPOINT
transferOnly: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
delete:
tags:
- channels
summary: Delete a call route
description: Delete an existing call route.
operationId: delete-call-route
parameters:
- name: routeId
in: path
description: Route identifier
required: true
style: simple
explode: false
schema:
type: string
example: 56b3e3ea-e91f-44ed-9d57-c7f05cd358ba
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
patch:
tags:
- channels
summary: Set order on call route
description: Set order on existing call route.
operationId: set-order-call-route
parameters:
- name: routeId
in: path
description: Route identifier
required: true
style: simple
explode: false
schema:
type: string
example: 56b3e3ea-e91f-44ed-9d57-c7f05cd358ba
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteOrderRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
/callrouting/1/recordings:
get:
tags:
- channels
summary: Get recordings
description: This method allows searching and filtering based on various recording data properties.
operationId: search-call-routing-recording
parameters:
- name: sortBy
in: query
description: Field that will be used for sorting.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingSortColumn'
example: START_TIME
- name: sortDirection
in: query
description: Order in which files will be sorted based on sortBy field.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.SortDirection'
example: DESC
- name: endpointType
in: query
description: Endpoint type of at least one participant in the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: PHONE
- name: phoneNumber
in: query
description: Phone number that was participant of the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: 41792036727
- name: sipTrunkId
in: query
description: SIP Trunk ID that was participant of the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: 60d345fd3a799ec
- name: sipUsername
in: query
description: Username on the SIP trunk that was participant of the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: 41793026834
- name: webrtcIdentity
in: query
description: WebRTC Identity that was participant of the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: WebRTC_user
- name: routeId
in: query
description: Route ID that was used to establish the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
- name: routeName
in: query
description: Route name to be used to match recordings. Name will be matched comparing it to all route names.
required: false
style: form
explode: true
schema:
type: string
example: Sample Route Name
- name: correlationId
in: query
description: Correlation ID to match.
required: false
style: form
explode: true
schema:
type: string
example: d8d84155-3831-43fb-91c9-bb897149a79d
- name: startTimeAfter
in: query
description: Date and time when the (first) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2024-05-01T14:25:45.125+0000
- name: startTimeBefore
in: query
description: Date and time when the (last) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2024-05-01T14:26:45.125+0000
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingLocation'
example: FRANKFURT
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/aa157138bc28697f89db8325cc3d3ce20c0f3c72c30b6831a5435f3f2d211cfe.CallRoutingRecordingPage'
examples:
Successfully fetching results:
summary: Successfully fetching results
description: Fetching recorded calls.
value:
results:
- application:
routeId: edef623d-0e1a-4a83-91e5-73c75ed31473
routeName: Route with disabled recording composition
correlationId: 8fdbf7d9-9889-4c2e-8f16-246d5fe066de
startTime: 2025-04-04T09:25:50.060+0000
endTime: 2025-04-04T09:25:57.780+0000
type: CALL_ROUTING
recording:
composedFiles: []
callRecordings:
- callId: q9lo60o6ihb23q06epc23n46ihd0nilcibb8nihd5jpu6n5d3boqip1e1bqs667ofk00
endpoint:
phoneNumber: '38761111222'
type: PHONE
direction: INBOUND
status: SUCCESSFUL
files:
- id: b83f049e-6b2a-4111-bbeb-32426fe0a737
name: b83f049e-6b2a-4111-bbeb-32426fe0a737.wav
fileFormat: WAV
size: 123392
startTime: 2025-04-04T09:25:50.059+0000
endTime: 2025-04-04T09:25:57.739+0000
creationTime: 2025-04-04T09:25:57.829+0000
duration: 7
location: HOSTED
customData:
routeId: edef623d-0e1a-4a83-91e5-73c75ed31473
- callId: cb64100e-371c-4928-8cbd-1256752e4de4
endpoint:
phoneNumber: '38762222333'
type: PHONE
direction: OUTBOUND
status: SUCCESSFUL
files:
- id: d411529b-cc99-4144-8e4d-53214a1f1660
name: d411529b-cc99-4144-8e4d-53214a1f1660.wav
fileFormat: WAV
size: 123682
startTime: 2025-04-04T09:25:50.079+0000
endTime: 2025-04-04T09:25:57.779+0000
creationTime: 2025-04-04T09:25:57.825+0000
duration: 7
location: HOSTED
customData:
routeId: edef623d-0e1a-4a83-91e5-73c75ed31473
- application:
routeId: 3a1fcde8-df41-4209-b9a5-895db5d42e3d
routeName: Route with enabled recording composition
correlationId: fc840e38-29dc-47d5-9947-17371c939a17
startTime: 2025-04-04T11:38:01.723+0000
endTime: 2025-04-04T11:38:12.763+0000
type: CALL_ROUTING
recording:
composedFiles:
- id: 294cdf1b-70ae-4249-b384-6f267b5cf345
name: 294cdf1b-70ae-4249-b384-6f267b5cf345.wav
fileFormat: WAV
size: 177152
startTime: 2025-04-04T11:38:01.724+0000
endTime: 2025-04-04T11:38:12.764+0000
creationTime: 2025-04-04T11:38:12.829+0000
duration: 11
location: HOSTED
customData:
routeId: 3a1fcde8-df41-4209-b9a5-895db5d42e3d
callRecordings:
- callId: m1to60o6ihb23q06epc23n46ihd0nilcibb8nihd5jpu6n5d3boqip1e1bqs6lfdgk00
endpoint:
phoneNumber: '38761111222'
type: PHONE
direction: INBOUND
files: []
- callId: 81a815ee-4fc2-45e3-a3eb-50277359a089
endpoint:
phoneNumber: '38761111333'
type: PHONE
direction: OUTBOUND
files: []
paging:
page: 0
size: 20
totalPages: 1
totalResults: 2
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Invalid sort column.
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: m
delete:
tags:
- channels
summary: Delete by correlation ID
description: This method allows deleting call recordings based on correlation ID.
operationId: delete-by-correlation-id
parameters:
- name: correlationId
in: query
description: Correlation ID to match.
required: true
style: form
explode: true
schema:
type: string
example: d8d84155-3831-43fb-91c9-bb897149a79d
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/6ee61eb40f9e4619d309dfe8df9b479488b43bcde7df95f6a044b2e14abf591e.RecordingApiResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Invalid sort column.
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingNotFoundException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: m
/callrouting/1/recordings/files/{fileId}:
get:
tags:
- channels
summary: Download recording file
description: Download a recording file.
operationId: recording-file-download
parameters:
- name: fileId
in: path
description: File ID to match.
required: true
style: simple
explode: false
schema:
type: string
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingLocation'
example: FRANKFURT
- name: Range
in: header
description: Range header specifies range of bytes to be returned by the response. If range header is not specified, response will return a complete file.
required: false
style: simple
explode: false
schema:
type: string
example: bytes=0-1023
responses:
'200':
description: Success
content:
application/octet-stream:
schema:
type: string
format: binary
description: File binary stream response
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingServiceException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/287f18f04e9f129a7bc94ed3ae48e2480e2673b8fdf041ab5125fde9674634b8.RecordingNotFoundException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: m
/callrouting/1/routes/{routeId}/status:
post:
tags:
- channels
summary: Update route status
description: 'Update status of existing call route. '
operationId: update-call-route-status
parameters:
- name: routeId
in: path
description: Route identifier
required: true
style: simple
explode: false
schema:
type: string
example: 56b3e3ea-e91f-44ed-9d57-c7f05cd358ba
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteStatusRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: m
/callrouting/1/routes/simulate:
post:
tags:
- channels
summary: Simulate route selection
description: Simulates which route will be selected upon predefined request.
operationId: simulate-route-selection
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c5d63eb36983d8ea1e54e74166c0e08ea636cff38a55aa9570bd7ba615a520a0.RouteSimulatorRequest'
examples:
Phone simulator request example:
summary: Example of a phone simulator request
value:
to: '41793012345'
useDisabledRoutes: false
endpoint:
from: '41793026234'
type: PHONE
SIP simulator request example:
summary: Example of a SIP simulator request
value:
to: '41793012345'
useDisabledRoutes: false
endpoint:
from: '41793026234'
sipTrunkId: test-sip-trunk-id
headers:
X-Header-Name: Value
type: SIP
WebRTC simulator request example:
summary: Example of a WebRTC simulator request
value:
to: '41793012345'
useDisabledRoutes: false
endpoint:
from: dUser
type: WEBRTC
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/1e938b22275568ebc747d21724b50c9be18ff5770eb33c37b76fda4633c14bde.RouteResponse'
examples:
Route with a SIP endpoint destination:
summary: Route with a SIP endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
username: '41793026834'
sipTrunkId: string
customHeaders:
X-Header-Name: header value
type: SIP
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
Route with a phone endpoint destination:
summary: Route with a phone endpoint destination
value:
id: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
name: Sample Route Name
destinations:
- value:
phoneNumber: '41793026834'
type: PHONE
connectTimeout: 30
recording:
recordingType: AUDIO
recordingComposition:
enabled: true
customData:
key1: value1
filePrefix: recording
type: ENDPOINT
status: ENABLED
order: 1
transferOnly: false
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- callrouting:manage
x-throttling-info:
- type: time
numberOfRequests: 5
numberOfTimeUnits: 0
timeUnit: m
/webrtc/1/token:
post:
tags:
- channels
summary: Generate WebRTC Token
description: This endpoint allows you to generate token for WebRTC channel.
operationId: generate-webrtc-token
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/a012797e45a148c14a09b350fd3670874eb3f365931c630a0c2efc32c7293ff3.TokenRequestModel'
examples:
Request example:
summary: Request example
value:
identity: Alice
displayName: Alice in Wonderland
timeToLive: 43200
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/a012797e45a148c14a09b350fd3670874eb3f365931c630a0c2efc32c7293ff3.TokenResponseModel'
examples:
Response example:
summary: Response example
value:
token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZGVudGl0eSI6IkFsaWNlIiwibmFtZSI6IkFsaWNlIGluIFdvbmRlcmxhbmQiLCJleHAiOjE1NzkyOTA2MzgsImNhcHMiOlsyXX0.QyCMqjH8DsftChibW2Rw4EByH-eEviUp3-kHVKuJpKg
expirationTime: '2020-01-17T19:50:38.488589Z'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:identity:manage
/webrtc/1/webrtc-push-config:
get:
tags:
- channels
summary: Get WebRTC push configurations
description: Get a page of WebRTC push configurations matching the query criteria.
operationId: get-push-configurations
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: true
style: form
explode: true
schema:
type: integer
format: int32
default: 0
example: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: true
style: form
explode: true
schema:
type: integer
format: int32
default: 20
example: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationPageResponse'
examples:
Response example with push configurations for different applications.:
summary: Response example with push configurations for different applications.
value:
results:
- id: 454d142b-a1ad-239a-d231-227fa335aadc3
name: Android Push Config Production
androidConfigured: true
iosConfigured: false
- id: 894c822b-d7ba-439c-a761-141f591cace7
name: Test Push Config
androidConfigured: true
iosConfigured: true
pageInfo:
page: 0
size: 2
totalPages: 1
totalResults: 2
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create WebRTC push configuration
description: Create and configure a new WebRTC push configuration.
operationId: save-push-configuration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationRequest'
examples:
Request example with Android WebRTC push configuration:
summary: Request example with Android WebRTC push configuration
value:
name: Android Push Config Production
android:
privateKeyJson: "{\n \"type\": \"service_account\",\n \"project_id\": \"PROJECT_ID\",\n \"private_key_id\": \"PRIVATE_KEY_ID\",\n \"private_key\": \"PRIVATE_KEY\",\n \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n \"client_id\": \"CLIENT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
Request example with Android and iOS WebRTC push configuration:
summary: Request example with Android and iOS WebRTC push configuration
value:
name: Test Push Config
ios:
apnsCertificateFileName: IOS_APNS_certificate.p12
apnsCertificateFileContent: aGVsbG8gd29ybGQ=
apnsCertificatePassword: strong_password
android:
privateKeyJson: "{\n \"type\": \"service_account\",\n \"project_id\": \"PROJECT_ID\",\n \"private_key_id\": \"PRIVATE_KEY_ID\",\n \"private_key\": \"PRIVATE_KEY\",\n \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n \"client_id\": \"CLIENT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse'
examples:
Response example with Android WebRTC push configuration:
summary: Response example with Android WebRTC push configuration
value:
id: 454d142b-a1ad-239a-d231-227fa335aadc3
name: Android Push Config Production
androidConfigured: true
iosConfigured: false
Response example with Android and iOS WebRTC push configuration:
summary: Response example with Android and iOS WebRTC push configuration
value:
id: 894c822b-d7ba-439c-a761-141f591cace7
name: Test Push Config
androidConfigured: true
iosConfigured: true
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/webrtc/1/webrtc-push-config/{id}:
get:
tags:
- channels
summary: Get WebRTC push configuration
description: Get a single WebRTC push configuration and its details.
operationId: get-push-configuration
parameters:
- name: id
in: path
description: Id of the WebRTC push configuration to get.
required: true
style: simple
explode: false
schema:
type: string
example: 454d142b-a1ad-239a-d231-227fa335aadc3
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse'
examples:
Response example with Android WebRTC push configuration:
summary: Response example with Android WebRTC push configuration
value:
id: 454d142b-a1ad-239a-d231-227fa335aadc3
name: Android Push Config Production
androidConfigured: true
iosConfigured: false
Response example with Android and iOS WebRTC push configuration:
summary: Response example with Android and iOS WebRTC push configuration
value:
id: 894c822b-d7ba-439c-a761-141f591cace7
name: Test Push Config
androidConfigured: true
iosConfigured: true
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
put:
tags:
- channels
summary: Update WebRTC push configuration
description: Change details of an existing WebRTC push configuration.
operationId: update-push-configuration
parameters:
- name: id
in: path
description: Id of the WebRTC push configuration to update.
required: true
style: simple
explode: false
schema:
type: string
example: 454d142b-a1ad-239a-d231-227fa335aadc3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationRequest'
examples:
Request example with Android WebRTC push configuration:
summary: Request example with Android WebRTC push configuration
value:
name: Android Push Config Production
android:
privateKeyJson: "{\n \"type\": \"service_account\",\n \"project_id\": \"PROJECT_ID\",\n \"private_key_id\": \"PRIVATE_KEY_ID\",\n \"private_key\": \"PRIVATE_KEY\",\n \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n \"client_id\": \"CLIENT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
Request example with Android and iOS WebRTC push configuration:
summary: Request example with Android and iOS WebRTC push configuration
value:
name: Test Push Config
ios:
apnsCertificateFileName: IOS_APNS_certificate.p12
apnsCertificateFileContent: aGVsbG8gd29ybGQ=
apnsCertificatePassword: strong_password
android:
privateKeyJson: "{\n \"type\": \"service_account\",\n \"project_id\": \"PROJECT_ID\",\n \"private_key_id\": \"PRIVATE_KEY_ID\",\n \"private_key\": \"PRIVATE_KEY\",\n \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n \"client_id\": \"CLIENT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse'
examples:
Response example with Android WebRTC push configuration:
summary: Response example with Android WebRTC push configuration
value:
id: 454d142b-a1ad-239a-d231-227fa335aadc3
name: Android Push Config Production
androidConfigured: true
iosConfigured: false
Response example with Android and iOS WebRTC push configuration:
summary: Response example with Android and iOS WebRTC push configuration
value:
id: 894c822b-d7ba-439c-a761-141f591cace7
name: Test Push Config
androidConfigured: true
iosConfigured: true
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete WebRTC push configuration
description: Delete WebRTC push configuration for the given id.
operationId: delete-push-configuration
parameters:
- name: id
in: path
description: Id of the WebRTC push configuration to delete.
required: true
style: simple
explode: false
schema:
type: string
example: 454d142b-a1ad-239a-d231-227fa335aadc3
responses:
'200':
description: Success
'204':
description: No content
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
patch:
tags:
- channels
summary: Patch WebRTC push configuration
description: Change only specific fields of the WebRTC push configuration. Fields left out of the request will remain unchanged.
operationId: patch-push-configuration
parameters:
- name: id
in: path
description: Id of the WebRTC push configuration to patch.
required: true
style: simple
explode: false
schema:
type: string
example: 454d142b-a1ad-239a-d231-227fa335aadc3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationRequest'
examples:
Request example with Android WebRTC push configuration:
summary: Request example with Android WebRTC push configuration
value:
name: Android Push Config Production
android:
privateKeyJson: "{\n \"type\": \"service_account\",\n \"project_id\": \"PROJECT_ID\",\n \"private_key_id\": \"PRIVATE_KEY_ID\",\n \"private_key\": \"PRIVATE_KEY\",\n \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n \"client_id\": \"CLIENT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
Request example with Android and iOS WebRTC push configuration:
summary: Request example with Android and iOS WebRTC push configuration
value:
name: Test Push Config
ios:
apnsCertificateFileName: IOS_APNS_certificate.p12
apnsCertificateFileContent: aGVsbG8gd29ybGQ=
apnsCertificatePassword: strong_password
android:
privateKeyJson: "{\n \"type\": \"service_account\",\n \"project_id\": \"PROJECT_ID\",\n \"private_key_id\": \"PRIVATE_KEY_ID\",\n \"private_key\": \"PRIVATE_KEY\",\n \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n \"client_id\": \"CLIENT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse'
examples:
Response example with Android WebRTC push configuration:
summary: Response example with Android WebRTC push configuration
value:
id: 454d142b-a1ad-239a-d231-227fa335aadc3
name: Android Push Config Production
androidConfigured: true
iosConfigured: false
Response example with Android and iOS WebRTC push configuration:
summary: Response example with Android and iOS WebRTC push configuration
value:
id: 894c822b-d7ba-439c-a761-141f591cace7
name: Test Push Config
androidConfigured: true
iosConfigured: true
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:configuration:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/webrtc/1/files:
get:
tags:
- channels
summary: Get files
description: Use this method to get files with pagination.
operationId: get-files
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
example: 0
minimum: 0
- name: size
in: query
description: Number of files per page. Maximum page size is 100.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
example: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ffb4c29a0ab7c4ca15544ca9d6ceffaf3e8b394d7fc1a53728ba61496b4513fc.FilePageResponse'
examples:
Response example of the page of files.:
summary: Response example of the page of files.
value:
results:
- id: 5f4e8861-8ed7-4521-b8c8-f26346726716
name: 5f4e8861-8ed7-4521-b8c8-f26346726716_alice_1680266280000.png
fileFormat: PNG
size: 10780
creationTime: 2023-03-31T12:38:00.000+0000
pageInfo:
page: 0
size: 1
totalPages: 1
totalResults: 1
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request.
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/webrtc/1/files/{id}:
get:
tags:
- channels
summary: Get file
description: Use this method to get a single file.
operationId: get-file
parameters:
- name: id
in: path
description: Id of the file.
required: true
style: simple
explode: false
schema:
type: string
example: 5f4e8861-8ed7-4521-b8c8-f26346726716
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ffb4c29a0ab7c4ca15544ca9d6ceffaf3e8b394d7fc1a53728ba61496b4513fc.FileResponse'
examples:
Response example of the file.:
summary: Response example of the file.
value:
id: 5f4e8861-8ed7-4521-b8c8-f26346726716
name: 5f4e8861-8ed7-4521-b8c8-f26346726716_alice_1680266280000.png
fileFormat: PNG
size: 10780
creationTime: 2023-03-31T12:38:00.000+0000
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete file
description: Use this method to delete a file.
operationId: delete-file
parameters:
- name: id
in: path
description: Id of the file to be deleted.
required: true
style: simple
explode: false
schema:
type: string
example: 5f4e8861-8ed7-4521-b8c8-f26346726716
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ffb4c29a0ab7c4ca15544ca9d6ceffaf3e8b394d7fc1a53728ba61496b4513fc.FileResponse'
examples:
Response example of the file.:
summary: Response example of the file.
value:
id: 5f4e8861-8ed7-4521-b8c8-f26346726716
name: 5f4e8861-8ed7-4521-b8c8-f26346726716_alice_1680266280000.png
fileFormat: PNG
size: 10780
creationTime: 2023-03-31T12:38:00.000+0000
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/webrtc/1/files/{id}/download:
get:
tags:
- channels
summary: Download file
description: Use this method to download a file.
operationId: download-file
parameters:
- name: id
in: path
description: Id of the file to be downloaded.
required: true
style: simple
explode: false
schema:
type: string
example: 5f4e8861-8ed7-4521-b8c8-f26346726716
responses:
'200':
description: Success
content:
application/octet-stream:
schema:
type: string
format: binary
description: File binary stream response
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
- webrtc:media:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/webrtc/1/user-activity:
get:
tags:
- channels
summary: Get WebRTC user activity
description: Get a page of a WebRTC user activity matching query criteria.
operationId: get-user-activity
parameters:
- name: identity
in: query
description: The identity of the user on Infobip WebRTC platform.
required: true
style: form
explode: true
schema:
type: string
example: Alice
- name: startTime
in: query
description: 'Start date and time for filtering of the user activity. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2024-09-10T15:30:45.125+0000
- name: endTime
in: query
description: 'End date and time for filtering of the user activity. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSS+ZZZZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2024-09-13T15:30:45.125+0000
- name: sessionId
in: query
description: An identifier that links different occurrences of `activityType` within the same activity session for a user identity on the Infobip WebRTC platform. When two activity events, distinguished by their `activityType`, happen during the same user activity session, they will share the same `sessionId`.
required: false
style: form
explode: true
schema:
type: string
example: 3f6957f0-79b3-11ef-a56e-ed504659cd80
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 0
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/dc38425c131b95e4c45181495294ce145519edf2a5db70e09ac8bc816d8bceba.UserActivityPageResponse'
examples:
Response example of the page of user activities.:
summary: Response example of the page of user activities.
value:
identity: Alice
results:
- sessionId: 19442d20-79b3-11ef-a56e-ed504659cd80
activityType: CONNECTED
timestamp: 2024-09-12T08:35:00.000+0000
- sessionId: 19442d20-79b3-11ef-a56e-ed504659cd80
activityType: DISCONNECTED
timestamp: 2024-09-12T08:40:00.000+0000
- sessionId: 3f6957f0-79b3-11ef-a56e-ed504659cd80
activityType: CONNECTED
timestamp: 2024-09-12T12:35:00.000+0000
- sessionId: 3f6957f0-79b3-11ef-a56e-ed504659cd80
activityType: DISCONNECTED
timestamp: 2024-09-12T12:40:00.000+0000
pageInfo:
page: 0
size: 1
totalPages: 1
totalResults: 4
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Missing identity in query parameter:
summary: Missing identity in query parameter
description: Missing identity in query parameter
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: identity
violation: must not be null
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/webrtc-calls/webrtc
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/webrtc/1/recordings:
get:
tags:
- channels
summary: Get WebRTC recordings
description: This method allows searching and filtering based on various recording data properties.
operationId: get-webrtc-recordings
parameters:
- name: sortBy
in: query
description: Field that will be used for sorting.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/7916e19109f991cfe966f390ef0d36117967291fa90eff57d8c8cb768f38352e.RecordingSortColumn'
example: START_TIME
- name: sortDirection
in: query
description: Order in which files will be sorted based on sortBy field.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/7916e19109f991cfe966f390ef0d36117967291fa90eff57d8c8cb768f38352e.SortDirection'
example: DESC
- name: callType
in: query
description: Call type of the recorded call.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/7916e19109f991cfe966f390ef0d36117967291fa90eff57d8c8cb768f38352e.CallType'
example: WEBRTC_CALL
- name: phoneNumber
in: query
description: Phone number that was participant of the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: 41792036727
- name: identity
in: query
description: WebRTC Identity that was participant of the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: Alice
- name: roomName
in: query
description: Name of the recorded room for ROOM_CALL call type.
required: false
style: form
explode: true
schema:
type: string
example: conference_room
- name: roomId
in: query
description: Id of the recorded room for ROOM_CALL call type. Equivalent to conferenceId.
required: false
style: form
explode: true
schema:
type: string
example: f8fc8aca-786d-4943-9af2-e7ec01b5e80d
- name: startTimeAfter
in: query
description: Date and time when the (first) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2024-05-01T14:25:45.125+0000
- name: startTimeBefore
in: query
description: Date and time when the (last) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2024-05-01T14:26:45.125+0000
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/7916e19109f991cfe966f390ef0d36117967291fa90eff57d8c8cb768f38352e.RecordingLocation'
example: FRANKFURT
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 0
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/6a67def771061fe877b7bafa26c22e83ef5c7b44e2a298a70b54e0ed657fe102.WebrtcRecordingPageResponse'
examples:
Response example with both composition and no composition recording responses for ROOM call type:
summary: Response example with both composition and no composition recording responses for ROOM call type
value:
results:
- application:
id: b4r1fcde8-df41-4209-b9a5-895db5d42e3d
callType: ROOM_CALL
roomName: Team_Meeting
roomId: fa6be316-39e7-4dda-8140-546fa643875f
startTime: 2025-10-29T16:30:31.865+0000
endTime: 2025-10-29T16:30:46.765+0000
type: WEBRTC
recording:
composedFiles:
- id: 7d8c1fa5-bacd-4ce9-9c8c-46f6a073fe86
name: 7d8c1fa5-bacd-4ce9-9c8c-46f6a073fe86.wav
fileFormat: WAV
size: 177152
startTime: 2025-10-29T16:30:31.865+0000
endTime: 2025-10-29T16:30:46.765+0000
creationTime: 2025-10-29T16:30:46.833+0000
duration: 14
location: HOSTED
callRecordings:
- callId: 2c96ff1d-8adb-4e95-9da4-5eb5a9bf6ff8
endpoint:
identity: Alice
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
- callId: afe40a7d-5832-4e63-9cd4-d9d3358a9b2a
endpoint:
identity: Dolores
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
- callId: 7d92e266-dbaf-4a7b-acda-1648e9bd8a9c
endpoint:
identity: Kevin
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
- application:
id: 78q1fcde8-df41-4209-b9a5-895db5d42e3d
callType: ROOM_CALL
roomName: Team_Meeting
roomId: fa6be316-39e7-4dda-8140-546fa643875f
startTime: 2025-10-29T12:16:58.045+0000
endTime: 2025-10-29T12:18:01.585+0000
type: WEBRTC
recording:
composedFiles: []
callRecordings:
- callId: 2c96ff1d-8adb-4e95-9da4-5eb5a9bf6ff8
endpoint:
identity: Alice
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
files:
- id: 5224c94a-f823-47d0-b662-10d22dca8aec
name: 5224c94a-f823-47d0-b662-10d22dca8aec.mp4
fileFormat: MP4
size: 2772666
startTime: 2025-10-29T12:16:58.045+0000
endTime: 2025-10-29T12:18:01.585+0000
creationTime: 2025-10-29T12:18:01.805+0000
duration: 72
location: HOSTED
- callId: afe40a7d-5832-4e63-9cd4-d9d3358a9b2a
endpoint:
identity: Dolores
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
files:
- id: bb92aa66-4d0f-4846-9f5a-0f388fa892d1
name: bb92aa66-4d0f-4846-9f5a-0f388fa892d1.mp4
fileFormat: MP4
size: 295842
startTime: 2025-10-29T12:16:58.045+0000
endTime: 2025-10-29T12:18:01.585+0000
creationTime: 2025-10-29T12:18:01.796+0000
duration: 63
location: HOSTED
- callId: 7d92e266-dbaf-4a7b-acda-1648e9bd8a9c
endpoint:
identity: Kevin
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
files:
- id: 7e125a10-6538-4187-9653-1b067a03e7e6
name: 7e125a10-6538-4187-9653-1b067a03e7e6.mp4
fileFormat: MP4
size: 295812
startTime: 2025-10-29T12:17:35.305+0000
endTime: 2025-10-29T12:17:58.685+0000
creationTime: 2025-10-29T12:18:01.765+0000
duration: 63
location: HOSTED
pageInfo:
page: 0
size: 20
totalPages: 1
totalResults: 2
Response example with composition recording response for WEBRTC call type:
summary: Response example with composition recording response for WEBRTC call type
value:
results:
- application:
id: 3a1fcde8-df41-4209-b9a5-895db5d42e3d
callType: WEBRTC_CALL
startTime: 2025-10-29T14:25:45.125+0000
endTime: 2025-10-29T14:26:45.125+0000
type: WEBRTC
recording:
composedFiles:
- id: 294cdf1b-70ae-4249-b384-6f267b5cf345
name: 294cdf1b-70ae-4249-b384-6f267b5cf345.wav
fileFormat: WAV
size: 177152
startTime: 2025-10-29T14:25:45.125+0000
endTime: 2025-10-29T14:25:55.125+0000
creationTime: 2025-10-29T14:25:46.125+0000
duration: 10
location: HOSTED
customData:
key: value
callRecordings:
- callId: 81a815ee-4fc2-45e3-a3eb-50277359a089
endpoint:
identity: Alice
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
- callId: 91b925ff-5gd3-56f4-b4fc-60388460b190
endpoint:
identity: Dolores
type: WEBRTC
direction: OUTBOUND
status: SUCCESSFUL
pageInfo:
page: 0
size: 20
totalPages: 1
totalResults: 1
Response example with no composition recording response for PHONE call type:
summary: Response example with no composition recording response for PHONE call type
value:
results:
- application:
id: 78q1fcde8-df41-4209-b9a5-895db5d42e3d
callType: PHONE_CALL
startTime: 2025-10-29T14:35:45.125+0000
endTime: 2025-10-29T14:36:45.125+0000
type: WEBRTC
recording:
composedFiles: []
callRecordings:
- callId: 81a815ee-4fc2-45e3-a3eb-50277359a089
endpoint:
identity: Alice
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
files:
- id: 564202f9-4788-4766-866c-6a58f4058dac
name: 564202f9-4788-4766-866c-6a58f4058dac.wav
fileFormat: WAV
size: 1772666
startTime: 2025-10-29T14:35:45.125+0000
endTime: 2025-10-29T14:35:55.125+0000
creationTime: 2025-10-29T14:35:46.125+0000
duration: 10
location: HOSTED
- callId: 811b925ff-5gd3-56f4-b4fc-60388460b190
endpoint:
phoneNumber: '32475388773'
type: PHONE
direction: OUTBOUND
status: SUCCESSFUL
files:
- id: c8f2817c-e2cd-47f1-ac40-2558d74c5c7b
name: c8f2817c-e2cd-47f1-ac40-2558d74c5c7b.wav
fileFormat: WAV
size: 295842
startTime: 2025-10-29T14:35:45.125+0000
endTime: 2025-10-29T14:35:55.125+0000
creationTime: 2025-10-29T14:35:46.125+0000
duration: 10
location: HOSTED
pageInfo:
page: 0
size: 20
totalPages: 1
totalResults: 1
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: m
/webrtc/1/recordings/{id}:
delete:
tags:
- channels
summary: Delete WebRTC recording by ID
description: This method allows deleting call recordings based on their ID.
operationId: delete-webrtc-recording-by-id
parameters:
- name: id
in: path
description: ID of the recording to delete.
required: true
style: simple
explode: false
schema:
type: string
example: d8d84155-3831-43fb-91c9-bb897149a79d
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/7916e19109f991cfe966f390ef0d36117967291fa90eff57d8c8cb768f38352e.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/6a67def771061fe877b7bafa26c22e83ef5c7b44e2a298a70b54e0ed657fe102.RecordingResponse'
examples:
Response example of deleted recording for WEBRTC call type:
summary: Response example of deleted recording for WEBRTC call type
value:
application:
id: 3a1fcde8-df41-4209-b9a5-895db5d42e3d
callType: WEBRTC_CALL
startTime: 2025-10-29T14:25:45.125+0000
endTime: 2025-10-29T14:26:45.125+0000
type: WEBRTC
recording:
composedFiles:
- id: 294cdf1b-70ae-4249-b384-6f267b5cf345
name: 294cdf1b-70ae-4249-b384-6f267b5cf345.wav
fileFormat: WAV
size: 177152
startTime: 2025-10-29T14:25:45.125+0000
endTime: 2025-10-29T14:25:55.125+0000
creationTime: 2025-10-29T14:25:46.125+0000
duration: 10
location: HOSTED
customData:
key: value
callRecordings:
- callId: 81a815ee-4fc2-45e3-a3eb-50277359a089
endpoint:
identity: Alice
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
- callId: 91b925ff-5gd3-56f4-b4fc-60388460b190
endpoint:
identity: Dolores
type: WEBRTC
direction: OUTBOUND
status: SUCCESSFUL
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
$ref: '#/components/responses/ApiError404'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: m
/webrtc/1/recordings/{id}/download:
get:
tags:
- channels
summary: Download WebRTC recording file
description: This method allows downloading a WebRTC recording file based on its ID.
operationId: download-webrtc-recording-by-id
parameters:
- name: id
in: path
description: ID of the recording to download.
required: true
style: simple
explode: false
schema:
type: string
example: d8d84155-3831-43fb-91c9-bb897149a79d
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/7916e19109f991cfe966f390ef0d36117967291fa90eff57d8c8cb768f38352e.RecordingLocation'
example: FRANKFURT
- name: Range
in: header
description: Range header specifies range of bytes to be returned in the response. If range header is not specified, response will return a complete file.
required: false
style: simple
explode: false
schema:
type: string
example: bytes=0-1023
responses:
'200':
description: Success
content:
application/octet-stream:
schema:
type: string
format: binary
description: File binary stream response.
'206':
description: Partial content
content:
application/octet-stream:
schema:
type: string
format: binary
description: Partial file binary stream response.
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
$ref: '#/components/responses/ApiError404'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- webrtc:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: m
/call-link/1/links:
get:
tags:
- channels
summary: Get call links
description: Use this method to retrieve all call links.
operationId: get-call-links
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/d32f709b8e696d073f5212b1e1d90721a8fd1118bf2c8abce078bf2baf7d1707.CallLinkPage'
examples:
Call Link Page Response:
summary: Call Link Page Response
value:
results:
- id: r9wpIY
identity: john
displayName: John Doe
destination:
identity: bob
type: WEBRTC
customData:
city: New York
language: en
validityWindow:
oneTime: true
startTime: 2026-07-17T13:37:13.088+0000
endTime: 2026-07-18T13:37:13.088+0000
callLinkConfigId: 638dbdc6ecede164c3799d04
- id: '1234'
identity: jane
displayName: Jane Doe
destination:
identity: bob
type: WEBRTC
paging:
page: 0
size: 10
totalPages: 1
totalResults: 2
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:link:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create call link
description: Create a link to send to someone who will then initiate a call.
operationId: create-call-link
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ae8a6eecccfb565f1840ac10e7bfb960a35d1e256ae31abf1bdea45a1d2f5557.CallLinkRequest'
examples:
Call Link:
summary: Call Link
value:
destination:
identity: bob
type: WEBRTC
validityWindow:
oneTime: true
startTime: 2026-07-17T13:37:13.088+0000
endTime: 2026-07-18T13:37:13.088+0000
callLinkConfigId: 638dbdc6ecede164c3799d04
Call Link with identity:
summary: Call Link with identity
value:
identity: alice
destination:
identity: bob
type: WEBRTC
validityWindow:
oneTime: true
startTime: 2026-07-17T13:37:13.088+0000
endTime: 2026-07-18T13:37:13.088+0000
callLinkConfigId: 638dbdc6ecede164c3799d04
Call Link with validity window:
summary: Call Link with validity window
value:
destination:
identity: bob
type: WEBRTC
validityWindow:
oneTime: true
startTime: 2026-07-17T13:37:13.088+0000
endTime: 2026-07-18T13:37:13.088+0000
acceptableHours:
start:
hour: 8
minute: 0
end:
hour: 17
minute: 0
acceptableDays:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
Call Link with custom data:
summary: Call Link with custom data
value:
destination:
identity: bob
type: WEBRTC
customData:
city: New York
language: en
validityWindow:
oneTime: true
startTime: 2026-07-17T13:37:13.088+0000
endTime: 2026-07-18T13:37:13.088+0000
Call Link with all options:
summary: Call Link with all options
value:
identity: alice
displayName: Alice
destination:
identity: bob
type: WEBRTC
customData:
city: New York
language: en
validityWindow:
oneTime: true
startTime: 2026-07-17T13:37:13.088+0000
endTime: 2026-07-18T13:37:13.088+0000
callLinkConfigId: 638dbdc6ecede164c3799d04
Call link for phone destination:
summary: Call link for phone destination
value:
destination:
phoneNumber: '38761111222'
type: PHONE
Call link for phone destination with from phone number:
summary: Call link for phone destination with from phone number
value:
destination:
phoneNumber: '38761111222'
from: '38762222333'
type: PHONE
Call link for phone with machine detection:
summary: Call link for phone with machine detection
value:
destination:
phoneNumber: '38761111222'
machineDetection:
enabled: true
detectionTime: 3.7
type: PHONE
Call link for viber destination:
summary: Call link for viber destination
value:
destination:
phoneNumber: '38762000000'
from: '38762111111'
type: VIBER
Call link for room destination:
summary: Call link for room destination
value:
destination:
roomName: Conference room
type: ROOM
Call link for application destination:
summary: Call link for application destination
value:
destination:
callsConfigurationId: 01b06592152e08646b08c056
type: APPLICATION
Call link for conversations destination:
summary: Call link for conversations destination
value:
destination:
type: CONVERSATIONS
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ae8a6eecccfb565f1840ac10e7bfb960a35d1e256ae31abf1bdea45a1d2f5557.CallLinkResponse'
examples:
Call Link Response:
summary: Call Link Response
value:
id: r9wpIY
url: https://call-link.com/r9wpIY
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:link:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 200
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/links/{id}:
get:
tags:
- channels
summary: Get call link
description: Use this method to get a call link by its ID.
operationId: get-call-link
parameters:
- name: id
in: path
description: ID of a call link.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/ae8a6eecccfb565f1840ac10e7bfb960a35d1e256ae31abf1bdea45a1d2f5557.CallLink'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:link:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete call link
description: Use this method to delete a call link by its ID.
operationId: delete-call-link
parameters:
- name: id
in: path
description: ID of a call link to delete.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/ae8a6eecccfb565f1840ac10e7bfb960a35d1e256ae31abf1bdea45a1d2f5557.CallLink'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:link:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/configs:
get:
tags:
- channels
summary: Get configurations
description: Use this method to retrieve all call link configurations.
operationId: get-configs
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/d32f709b8e696d073f5212b1e1d90721a8fd1118bf2c8abce078bf2baf7d1707.CallLinkConfigPage'
examples:
Call Link Config Page Response:
summary: Call Link Config Page Response
value:
results:
- name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
- name: Company name
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
paging:
page: 0
size: 10
totalPages: 1
totalResults: 2
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create configuration
description: Use this method to add a new call link configuration.
operationId: create-config
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfigRequest'
examples:
Call Link Config with initial options:
summary: Call Link Config with initial options
value:
name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
Call Link Config with theme:
summary: Call Link Config with theme
value:
name: Company name
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
Call Link Config with all options:
summary: Call Link Config with all options
value:
name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfig'
examples:
Call Link Config Response:
summary: Call Link Config Response
value:
id: 638dbdc6ecede164c3799d04
name: Company name
isDefault: true
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/configs/{id}:
get:
tags:
- channels
summary: Get configuration
description: Use this method to retrieve a call link configuration by its ID.
operationId: get-config
parameters:
- name: id
in: path
description: ID of a call link configuration to load.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfig'
examples:
Call Link Config Response:
summary: Call Link Config Response
value:
id: 638dbdc6ecede164c3799d04
name: Company name
isDefault: true
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
put:
tags:
- channels
summary: Update a configuration
description: 'Use this method to overwrite a call link configuration.
New values for configuration attributes replace the existing ones. If no value is passed,
the attribute is set to empty or to default, if available.'
operationId: update-config
parameters:
- name: id
in: path
description: ID of a call link configuration to update.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfigRequest'
examples:
Call Link Config with initial options:
summary: Call Link Config with initial options
value:
name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
Call Link Config with theme:
summary: Call Link Config with theme
value:
name: Company name
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
Call Link Config with all options:
summary: Call Link Config with all options
value:
name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
required: true
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfig'
examples:
Call Link Config Response:
summary: Call Link Config Response
value:
id: 638dbdc6ecede164c3799d04
name: Company name
isDefault: true
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete configuration
description: Use this method to delete a call link configuration by its ID.
operationId: delete-config
parameters:
- name: id
in: path
description: ID of a call link configuration to delete.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfig'
examples:
Call Link Config Response:
summary: Call Link Config Response
value:
id: 638dbdc6ecede164c3799d04
name: Company name
isDefault: true
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
patch:
tags:
- channels
summary: Partial configuration update
description: 'Use this method to update a call link configuration.
New values for configuration attributes replace the existing ones. If no value is passed in the request, the attribute keeps its value.'
operationId: patch-config
parameters:
- name: id
in: path
description: ID of a call link configuration to update.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfigRequest'
examples:
Call Link Config with initial options:
summary: Call Link Config with initial options
value:
name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
Call Link Config with theme:
summary: Call Link Config with theme
value:
name: Company name
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
Call Link Config with all options:
summary: Call Link Config with all options
value:
name: Company name
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
required: true
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/b2a108c706e7d46b95495b161a8c99f5751c046c5e419f6f0780788488a1af14.CallLinkConfig'
examples:
Call Link Config Response:
summary: Call Link Config Response
value:
id: 638dbdc6ecede164c3799d04
name: Company name
isDefault: true
initialOptions:
audio: true
video: false
muted: false
cameraFacingMode: FRONT
callOptions:
mute: true
screenShare: true
switchCameraFacingMode: true
dialPad: true
theme:
images:
logoImageId: 638dbe28ecede164c3799d06
backgroundImageId: 638dbe0cecede164c3799d05
messages:
welcomeText: Call link page
inactiveText: This link is no longer active.
expirationText: This link has expired
colors:
primary: D8D8D8
primaryText: '242424'
background: FFFFFF
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/images:
get:
tags:
- channels
summary: Get images
description: Use this method to retrieve all images.
operationId: get-images
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/d32f709b8e696d073f5212b1e1d90721a8fd1118bf2c8abce078bf2baf7d1707.ImagePage'
examples:
Image Page Response:
summary: Image Page Response
value:
results:
- id: 638f29f0ee8f0c1da369a722
name: logo.png
type: LOGO
size: 512
- id: 968f29f0ee8f0c1da369a545
name: background.jpg
type: BACKGROUND
size: 1512
paging:
page: 0
size: 10
totalPages: 1
totalResults: 2
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/images/upload/{type}:
post:
tags:
- channels
summary: Upload image
description: Use this method to upload an image.
operationId: upload-image
parameters:
- name: type
in: path
description: Image type, LOGO or BACKGROUND.
required: true
style: simple
explode: false
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.ImageType'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: 'Multipart file data of an image. Max file size of LOGO type is 1MB with max resolution of 100x100. Max file size of BACKGROUND type is 10MB with max resolution of 2000x2000. Acceptable file formats are: .jpeg, .jpg and .png.'
required:
- file
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/bced1b5de5a3082b5f8ce3c272029f66a05beaf3b2db4fdc852bd1a5393c0582.ImageResponse'
examples:
Image Response:
summary: Image Response
value:
id: 638f29f0ee8f0c1da369a722
name: logo.png
type: LOGO
size: 512
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/images/{id}:
get:
tags:
- channels
summary: Get image
description: Use this method to get an image.
operationId: get-image
parameters:
- name: id
in: path
description: ID of an image.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/bced1b5de5a3082b5f8ce3c272029f66a05beaf3b2db4fdc852bd1a5393c0582.ImageResponse'
examples:
Image Response:
summary: Image Response
value:
id: 638f29f0ee8f0c1da369a722
name: logo.png
type: LOGO
size: 512
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete image
description: Use this method to delete a call link configuration image.
operationId: delete-image
parameters:
- name: id
in: path
description: ID of an image to delete.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/bced1b5de5a3082b5f8ce3c272029f66a05beaf3b2db4fdc852bd1a5393c0582.ImageResponse'
examples:
Image Response:
summary: Image Response
value:
id: 638f29f0ee8f0c1da369a722
name: logo.png
type: LOGO
size: 512
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/subdomains:
get:
tags:
- channels
summary: Get subdomains
description: Use this method to get all subdomains.
operationId: get-subdomains
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/d32f709b8e696d073f5212b1e1d90721a8fd1118bf2c8abce078bf2baf7d1707.SubdomainPage'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create subdomain
description: Use this method to add a new call link subdomain. Maximum number of domains is 3. Cannot contain ".".
operationId: create-subdomain
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/febbeec59369f28c0a6e3ddd1a2666aea9869953e0893914d340d35c6901410c.SubdomainRequest'
examples:
Call Link Subdomain:
summary: Call Link Subdomain
value:
name: infobip
required: true
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/febbeec59369f28c0a6e3ddd1a2666aea9869953e0893914d340d35c6901410c.Subdomain'
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/subdomains/{id}:
delete:
tags:
- channels
summary: Delete subdomain
description: Use this method to delete a subdomain by its ID.
operationId: delete-subdomain
parameters:
- name: id
in: path
description: ID of a call link subdomain to delete.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/febbeec59369f28c0a6e3ddd1a2666aea9869953e0893914d340d35c6901410c.Subdomain'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- calllink:configuration:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/recordings:
get:
tags:
- channels
summary: Get call link recordings
description: Use this method to filter and retrieve call link recordings.
operationId: get-call-link-recordings
parameters:
- name: sortBy
in: query
description: Field that will be used for sorting.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.RecordingSortColumn'
example: START_TIME
- name: sortDirection
in: query
description: Order in which files will be sorted based on sortBy field.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.SortDirection'
example: DESC
- name: destinationData
in: query
description: Destination the call was made towards. For WEBRTC calls, this is the WebRTC identity. For PHONE calls, this is the phone number. For ROOM calls, this is the room name.
required: false
style: form
explode: true
schema:
type: string
example: '+1234567890'
- name: destinationType
in: query
description: Type of call link destination.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.CallLinkDestination'
example: PHONE
- name: callLinkConfigId
in: query
description: ID of the call link configuration used to establish the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: 685bede487a709487c584f91
- name: callLinkId
in: query
description: ID of a call link used to establish the recorded call.
required: false
style: form
explode: true
schema:
type: string
example: 55a523d1-b769-4466-a4a9-f610899569e5
- name: startTimeAfter
in: query
description: Date and time when the (first) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2025-01-01T00:00:00.000+0000
- name: startTimeBefore
in: query
description: Date and time when the (last) call recording started.
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: 2025-01-01T00:00:00.000+0000
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.RecordingLocation'
example: FRANKFURT
- name: page
in: query
description: Page number for pagination, starting from 0.
required: false
style: form
explode: true
schema:
type: integer
default: 0
minimum: 0
- name: size
in: query
description: Number of items per page, maximum is 100.
required: false
style: form
explode: true
schema:
type: integer
default: 10
maximum: 100
minimum: 1
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/d32f709b8e696d073f5212b1e1d90721a8fd1118bf2c8abce078bf2baf7d1707.RecordingPage'
examples:
Recording Page:
summary: Recording Page
value:
- application:
id: 2e75743a-7626-425c-879c-19e7f6111359
callLinkId: 34QubX
callLinkConfigId: 63f742074d09a250fdc74025
destinationType: PHONE
destinationData: '+1234567890'
type: CALL_LINK
recording:
composedFiles:
- id: d8d84155-3831-43fb-91c9-bb897149a79d
name: d8d84155-3831-43fb-91c9-bb897149a79d_1652725357412.wav
fileFormat: WAV
size: 67564
startTime: 2024-05-01T14:25:45.125+0000
endTime: 2024-05-01T14:26:45.125+0000
creationTime: 2024-05-01T14:26:48.125+0000
duration: 60
location: HOSTED
customData:
key1: value1
callRecordings:
- callId: d8d84155-3831-43fb-91c9-bb897149a79d
endpoint:
identity: phoneCaller
displayName: null
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
files:
- id: 564202f9-4788-4766-866c-6a58f4058dac
name: 564202f9-4788-4766-866c-6a58f4058dac.wav
fileFormat: WAV
size: 123456
startTime: 2024-05-01T14:25:45.125+0000
endTime: 2024-05-01T14:26:45.125+0000
creationTime: 2024-05-01T14:26:48.125+0000
duration: 60
location: HOSTED
customData:
key1: value1
- callId: 9b793eeb-31e7-4a39-bf24-a267777b0313
endpoint:
phoneNumber: '32475388773'
type: PHONE
direction: OUTBOUND
status: SUCCESSFUL
files:
- id: c8f2817c-e2cd-47f1-ac40-2558d74c5c7b
name: c8f2817c-e2cd-47f1-ac40-2558d74c5c7b.wav
fileFormat: WAV
size: 123456
startTime: 2024-05-01T14:25:45.125+0000
endTime: 2024-05-01T14:26:45.125+0000
creationTime: 2024-05-01T14:26:48.125+0000
duration: 60
location: HOSTED
customData:
key1: value1
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice:recording:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/recordings/{id}:
delete:
tags:
- channels
summary: Delete call link recording
description: Use this method to delete a call link recording by its ID.
operationId: delete-call-link-recording
parameters:
- name: id
in: path
description: ID of the recording to delete.
required: true
style: simple
explode: false
schema:
type: string
example: 55a523d1-b769-4466-a4a9-f610899569e5
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.RecordingLocation'
example: FRANKFURT
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/73e6f414ccb2e1e41274c061b50cf5765f69b642a3e0cca54b0248eb3baf086d.RecordingResponse'
examples:
Recording Response:
summary: Recording Response
value:
application:
id: 2e75743a-7626-425c-879c-19e7f6111359
callLinkId: 34QubX
callLinkConfigId: 63f742074d09a250fdc74025
destinationType: PHONE
destinationData: '+1234567890'
type: CALL_LINK
recording:
composedFiles:
- id: d8d84155-3831-43fb-91c9-bb897149a79d
name: d8d84155-3831-43fb-91c9-bb897149a79d_1652725357412.wav
fileFormat: WAV
size: 67564
startTime: 2024-05-01T14:25:45.125+0000
endTime: 2024-05-01T14:26:45.125+0000
creationTime: 2024-05-01T14:26:48.125+0000
duration: 60
location: HOSTED
customData:
key1: value1
callRecordings:
- callId: d8d84155-3831-43fb-91c9-bb897149a79d
endpoint:
identity: phoneCaller
displayName: null
type: WEBRTC
direction: INBOUND
status: SUCCESSFUL
files:
- id: 564202f9-4788-4766-866c-6a58f4058dac
name: 564202f9-4788-4766-866c-6a58f4058dac.wav
fileFormat: WAV
size: 123456
startTime: 2024-05-01T14:25:45.125+0000
endTime: 2024-05-01T14:26:45.125+0000
creationTime: 2024-05-01T14:26:48.125+0000
duration: 60
location: HOSTED
customData:
key1: value1
- callId: 9b793eeb-31e7-4a39-bf24-a267777b0313
endpoint:
phoneNumber: '32475388773'
type: PHONE
direction: OUTBOUND
status: SUCCESSFUL
files:
- id: c8f2817c-e2cd-47f1-ac40-2558d74c5c7b
name: c8f2817c-e2cd-47f1-ac40-2558d74c5c7b.wav
fileFormat: WAV
size: 123456
startTime: 2024-05-01T14:25:45.125+0000
endTime: 2024-05-01T14:26:45.125+0000
creationTime: 2024-05-01T14:26:48.125+0000
duration: 60
location: HOSTED
customData:
key1: value1
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice:recording:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/call-link/1/recordings/files/{fileId}:
get:
tags:
- channels
summary: Download a recording file
description: Use this method to download a recording file by its ID.
operationId: download-call-link-recording
parameters:
- name: fileId
in: path
description: File ID to match.
required: true
style: simple
explode: false
schema:
type: string
example: d8d84155-3831-43fb-91c9-bb897149a79d
- name: location
in: query
description: Recording location.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/2188fec7c48e989bb7053521bdef9d76d71def96483c5304f01cd7e0878f8f14.RecordingLocation'
example: FRANKFURT
- name: Range
in: header
description: Range header specifies range of bytes to be returned by the response. If range header is not specified, response will return a complete file.
required: false
style: simple
explode: false
schema:
type: string
example: bytes=0-1023
responses:
'200':
description: Recording file downloaded successfully.
content:
application/octet-stream:
schema:
type: string
format: binary
description: File binary stream response
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
validationErrors:
field:
- field must not be null.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/e7089e7463ca9bbf5ccd1fc35b7db93dfead631972de2930bb5def17a2b45bf6.ApiException'
examples:
Error responses:
summary: Error responses
description: Error responses
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Not found.
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- voice:recording:manage
- calllink:manage
x-throttling-info:
- type: time
numberOfRequests: 50
numberOfTimeUnits: 0
timeUnit: s
/email/4/messages:
post:
tags:
- channels
summary: Send email messages
description: 99% of all use cases can be achieved by using this API method. Everything from sending a simple single message to a single destination, up to batch sending of personalized messages to the thousands of recipients with a single API request. Scheduling and every advanced feature you can think of is supported.
externalDocs:
description: Learn more about Email channel and use cases
url: https://www.infobip.com/docs/email
operationId: send-email-messages-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.EmailRequest'
examples:
Email with text with single destination:
summary: Email with text with single destination
value:
messages:
- sender: jenny.smith@company.com
destinations:
- to:
- destination: john.smith@company.com
content:
subject: Test message
text: Test body
Email with template with multiple destination:
summary: Email with template with multiple destination
value:
messages:
- sender: jenny.smith@company.com
destinations:
- to:
- destination: john.smith@company.com
placeholders: '{"customer_name":"John Smith"}'
- destination: mike.smith@company.com
placeholders: '{"customer_name":"Mike Smith"}'
content:
templateId: '322307'
defaultPlaceholders: '{"date":"20/03/2018","customer_name":"John Smith"}'
Email with HTML and placeholders with single destination:
summary: Email with HTML and placeholders with single destination
value:
messages:
- sender: jenny.smith@company.com
destinations:
- to:
- destination: john.smith@company.com
placeholders: '{"destination_ph":"Destination placeholder"}'
content:
subject: Test message
html: 'Html body
Rich HTML message body.
Example with default placeholders: {{default_ph}}
Example with personalized placeholders: {{to_ph}}
'
defaultPlaceholders: '{"default_ph":"Default placeholder"}'
Email with tracking options with multiple destinations:
summary: Email with tracking options with multiple destinations
value:
messages:
- sender: jenny.smith@company.com
destinations:
- to:
- destination: john.smith@company.com
cc:
- destination: bob.smith@somecompany.com
bcc:
- destination: alice.doe@somecompany.com
content:
subject: Test message
html: 'Html body
Rich HTML message body.
This is link that will be shortened and tracked
link '
options:
schedule: {}
tracking: {}
clientPriority: STANDARD
Email with attachments:
summary: Email with attachments
value:
messages:
- sender: jenny.smith@company.com
destinations:
- to:
- destination: john.smith@company.com
content:
subject: Test message
text: Text
attachments:
- type: binary
content: Q29udGVudA==
contentType: image/png
fileName: image.png
- type: uploadedReference
contentId: B44419205B27012D82F3BAD7B7EB37BA157EB26DCA268BD7C62F235165E04EB55EA620E2BB59715F3442C43852922601D294
Email with template ID:
summary: Email with template ID
value:
messages:
- destinations:
- to:
- destination: john.smith@company.com
content:
templateId: '100000000123456'
Email with IP pool ID:
summary: Email with IP pool ID
value:
messages:
- destinations:
- to:
- destination: john.smith@company.com
content:
subject: Test message
text: Test body
ips:
ipPoolId: 08A3A7608750CC6E6080325A6ADF45B6
Email with masked placeholders:
summary: Email with masked placeholders
value:
messages:
- sender: jenny.smith@company.com
destinations:
- to:
- destination: john.smith@company.com
placeholders: '{"name": "JohnDoe", "email": "test@example.com", "phone": "41793026727"}'
content:
subject: Masking sensitive placeholders , Hi {{name}}, {{email}} , {{phone}}
html: Test body {{ph1}} {{ph2}}
defaultPlaceholders: '{"ph1": "Default", "ph2": "HideWholePlaceholder"}'
placeholdersMasking:
- name: ph1
side: L
maskChar: '='
visibleChars: 3
- name: ph2
maskChar: '#'
skipChars:
- W
- name: name
side: R
maskChar: +
visibleChars: 2
- name: email
side: L
maskChar: '='
delimiter: '@'
skipChars:
- _
- name: phone
side: L
maskChar: +
skipChars:
- '-'
- (
- )
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.EmailResponse'
examples:
Success response:
summary: Success response
value:
bulkId: a28dd97c-2222-4fcf-99f1-0b557ed381da
messages:
- messageId: a28dd97c-1ffb-4fcf-99f1-0b557ed381da
status:
groupId: 1
groupName: PENDING
id: 7
name: PENDING_ENROUTE
description: Message sent to next instance
destination: john.smith@company.com
Success response with multiple destinations:
summary: Success response with multiple destinations
value:
bulkId: a28dd97c-2222-4fcf-99f1-0b557ed381da
messages:
- messageId: a28dd97c-1ffb-4fcf-99f1-0b557ed381da
status:
groupId: 1
groupName: PENDING
id: 7
name: PENDING_ENROUTE
description: Message sent to next instance
destination: john.smith@company.com
- messageId: 2211d97c-53432-4fcf-99f1-0b557ed381da
status:
groupId: 1
groupName: PENDING
id: 7
name: PENDING_ENROUTE
description: Message sent to next instance
destination: john.doe@company.com
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- email:message:send
- email:manage
x-is-early-access: true
x-throttling-info:
- type: time
numberOfRequests: 4000
numberOfTimeUnits: 0
timeUnit: s
x-versions:
- versionNumber: 4
latest: true
operationId: send-email-messages-api
- versionNumber: 3
latest: false
operationId: send-fully-featured-email
/email/1/content:
post:
tags:
- channels
summary: Upload binary content
description: This method allows you to upload binary content that you can reference when sending Email messages.
operationId: upload-binary-content
parameters:
- name: X-Content-Id
in: header
description: Content ID that uniquely identifies the binary content.
required: true
style: simple
explode: false
schema:
type: string
example: image_1_jpg
- name: X-Media-Type
in: header
description: Content mime type. Should be populated by standard MIME types (IANA media types).
required: true
style: simple
explode: false
schema:
type: string
example: image/jpeg
- name: X-Validity-Period-Minutes
in: header
description: Validity period in minutes after which the content will be deleted.
required: false
style: simple
explode: false
schema:
type: string
maximum: 10080
minimum: 1440
example: 3000
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
examples:
cURL:
summary: cURL
description: cURL
value: 'curl -L -X POST ''https://{baseUrl}/email/1/content'' \
-H ''Authorization: {authorization}'' \
-H ''Content-Type: application/octet-stream'' \
-H ''Accept: application/json'' \
-H ''X-Media-Type: image/jpeg'' \
-H ''X-Content-Id: image_1_jpg'' \
--data-binary "@/path/to/image1.jpg"
'
HTTP:
summary: HTTP
description: HTTP
value: 'POST /email/1/content HTTP/1.1
Host: {baseUrl}
Authorization: {authorization}
Content-Type: application/octet-stream
Accept: application/json
X-Content-Id: image_1_jpg
X-Media-Type: image/jpeg
(data)'
responses:
'200':
description: Successful Request
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.UploadBinaryResult'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.ApiErrorResponse'
examples:
Response example:
summary: Response example
value:
bulkId: ''
messages: []
errorMessage: Required request header 'X-Content-Id' for method parameter type String is not present
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 500
numberOfTimeUnits: 0
timeUnit: s
/email/3/send:
post:
tags:
- channels
summary: Send fully featured email
description: Send an email or multiple emails to a recipient or multiple recipients with CC/BCC enabled.
operationId: send-fully-featured-email
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.SendRequestSchema'
examples:
Send fully featured email using curl:
summary: Send fully featured email using curl
description: Send fully featured email using curl
value: '
curl --request POST ''https://{base_url}/email/3/send'' \
--header ''Authorization: Basic {username:password}'' \
--form ''from="Jane Smith "'' \
--form ''to="john.smith@somedomain.com"'' \
--form ''to="alice.smith@somedomain.com"'' \
--form-string ''to={"to": "alice.grey@somecompany.com", "placeholders": {"name":"Alice"}}'' \
--form ''replyTo="all.replies@somedomain.com"'' \
--form ''subject="Mail subject text and placeholder ph1"'' \
--form ''text="Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}"'' \
--form ''html="Html body
Rich HTML message body.
"'' \
--form ''attachment=@"/home/user/image.png"'' \
--form ''bulkId="customBulkId"'' \
--form ''intermediateReport="true"'' \
--form-string ''defaultPlaceholders={"ph1": "Success", "ph2": "Example"}'' \
--form-string ''headers={"List-Unsubscribe": "your unsubscribe link", "X-Custom-Header": "Header value"}'' \
--form ''notifyUrl="https://www.example.com/email/advanced"'' \
--form ''notifyContentType="application/json"'' \
--form ''trackClicks="true"'' \
--form ''trackOpens="false"'' \
--form ''trackingPixelPosition="TOP"'' \
--form ''callbackData="DLR callback data"''
--form ''ipPoolId="08A3A7608750CC6E6080325A6ADF45B6"''
'
Send fully featured with preserved recipients email using curl:
summary: Send fully featured with preserved recipients email using curl
description: Send fully featured with preserved recipients email using curl
value: '
curl --request POST ''https://{base_url}/email/3/send'' \
--header ''Authorization: Basic {username:password}'' \
--form ''from="Jane Smith "'' \
--form ''to="john.smith@somedomain.com"'' \
--form ''to="alice.smith@somedomain.com"'' \
--form-string ''to={"to": "alice.grey@somecompany.com", "placeholders": {"name":"Alice"}}'' \
--form-string ''cc={"to": "jane.grey@somecompany.com", "placeholders": {"name":"Jane"}}'' \
--form ''bcc=""eve.grey@somecompany.com"'' \
--form ''replyTo="all.replies@somedomain.com"'' \
--form ''subject="Mail subject text and placeholder ph1"'' \
--form ''text="Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}"'' \
--form ''html="Html body
Rich HTML message body.
"'' \
--form ''attachment=@"/home/user/image.png"'' \
--form ''bulkId="customBulkId"'' \
--form ''intermediateReport="true"'' \
--form-string ''defaultPlaceholders={"ph1": "Success", "ph2": "Example"}'' \
--form-string ''headers={"List-Unsubscribe": "your unsubscribe link", "X-Custom-Header": "Header value"}'' \
--form ''notifyUrl="https://www.example.com/email/advanced"'' \
--form ''notifyContentType="application/json"'' \
--form ''trackClicks="true"'' \
--form ''trackOpens="false"'' \
--form ''trackingPixelPosition="TOP"'' \
--form ''callbackData="DLR callback data"''
--form ''ipPoolId="08A3A7608750CC6E6080325A6ADF45B6"''
'
Send fully featured email using Java:
summary: Send fully featured email using Java
description: Send fully featured email using Java
value: "\nimport org.springframework.core.io.FileSystemResource;\nimport org.springframework.http.*;\nimport org.springframework.util.LinkedMultiValueMap;\nimport org.springframework.web.client.RestTemplate;\nimport java.io.File; \n \nvar body = new LinkedMultiValueMap();\nbody.add(\"from\", \"Jane Smith \");\nbody.add(\"to\", \"john.smith@somedomain.com\");\nbody.add(\"to\", \"alice.smith@somedomain.com\");\nbody.add(\"to\", \"{\\\"to\\\": \\\"alice.grey@somecompany.com\\\", \\\"placeholders\\\": {\\\"name\\\": \\\"Alice\\\"}}\");\nbody.add(\"cc\", \"{\\\"to\\\": \\\"jane.grey@somecompany.com\\\", \\\"placeholders\\\": {\\\"name\\\": \\\"Jane\\\"}}\");\nbody.add(\"replyTo\", \"all.replies@somedomain.com\");\nbody.add(\"subject\", \"Mail subject text and placeholder ph1\");\nbody.add(\"text\", \"Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}\");\nbody.add(\"html\", \"Html body
Rich HTML message body.
\");\nbody.add(\"attachment\", new FileSystemResource(new File(\"/home/user/file.zip\")));\nbody.add(\"bulkId\", \"customBulkId\");\nbody.add(\"intermediateReport\", \"true\");\nbody.add(\"defaultPlaceholders\", \"{\\\"ph1\\\": \\\"Success\\\", \\\"ph2\\\": \\\"Example\\\"}\");\nbody.add(\"headers\", \"{\\\"List-Unsubscribe\\\": \\\"your unsubscribe link\\\", \\\"X-Custom-Header\\\": \\\"Header value\\\"}\");\nbody.add(\"notifyUrl\", \"https://www.example.com/email/advanced\");\nbody.add(\"notifyContentType\", \"application/json\");\nbody.add(\"trackClicks\", \"true\");\nbody.add(\"trackOpens\", \"false\");\nbody.add(\"trackingPixelPosition\", \"TOP\");\nbody.add(\"callbackData\", \"DLR callback data\");\nbody.add(\"ipPoolId\", \"08A3A7608750CC6E6080325A6ADF45B6\");\nvar headers = new HttpHeaders();\nheaders.setContentType(MediaType.MULTIPART_FORM_DATA);\nheaders.add(\"Authorization\", \"Basic {username:password}\");\nvar entity = new HttpEntity<>(body, headers);\nvar restTemplate = new RestTemplate();\nrestTemplate.postForEntity(\"https://{base_url}/email/3/send\", entity, String.class);\n"
Send fully featured email - HTTP:
summary: Send fully featured email - HTTP
description: Send fully featured email - HTTP
value: "\nPOST /email/3/send HTTP/1.1\nHost: {base_url}\nAuthorization: Basic {username:password}\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n \n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"from\"\n \nJane Smith \n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"to\"\n \njohn.smith@somedomain.com\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"to\"\n \nalice.smith@somedomain.com\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"to\"\n \n{\"to\": \"alice.grey@somecompany.com\",\"placeholders\": {\"name\": \"Alice\"}}\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"cc\"\n\n{\"to\": \"jane.grey@somecompany.com\",\"placeholders\": {\"name\": \"Jane\"}}\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"replyTo\"\n \njack.smith@somedomain.com\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"subject\"\n \nMail subject text and placeholder ph1\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"text\"\n \nDear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"html\"\n \nHtml body
Rich HTML message body.
\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"attachment\"; filename=\"file.zip\"\n \n(data)\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"bulkId\"\n \ncustomBulkId\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"intermediateReport\"\n \ntrue\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"defaultPlaceholders\"\n \n{\"ph1\": \"Success\", \"ph2\": \"Example\"}\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"headers\"\n \n{\"List-Unsubscribe\": \"your unsubscribe link\", \"X-CustomHeader\": \"Header\"}\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"notifyUrl\"\n \nhttps://www.example.com/email/advanced\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"notifyContentType\"\n \napplication/json\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"trackClicks\"\n\ntrue\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"trackOpens\"\n\nfalse\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"trackingPixelPosition\"\n\nTOP\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"callbackData\"\n \nDLR callback data\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"ipPoolId\"\n\n08A3A7608750CC6E6080325A6ADF45B6\n------WebKitFormBoundary7MA4YWxkTrZu0gW--\n"
Send fully featured email using PHP:
summary: Send fully featured email using PHP
description: Send fully featured email using PHP
value: "\nsetUrl('https://{base_url}/email/3/send');\n $request->setMethod(HTTP_Request2::METHOD_POST);\n $request->setConfig(array(\n 'follow_redirects' => TRUE\n ));\n $request->setHeader(array(\n 'Authorization' => 'Basic {username:password}',\n 'Content-Type' => 'multipart/form-data'\n ));\n \n $request->addPostParameter(array(\n 'from' => 'Jane Smith ',\n 'to' => ['john.smith@somedomain.com', 'alice.smith@somedomain.com', '{\"to\": \"alice.grey@somecompany.com\", \"placeholders\": {\"Name\":\"John Doe\"}}'],\n 'cc' => '{\"to\": \"jane.grey@somecompany.com\", \"placeholders\": {\"Name\":\"Jane\"}}'\n 'replyTo' => 'all.replies@somedomain.com',\n 'subject' => 'Mail subject text and placeholder ph1',\n 'text' => 'Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}',\n 'html' => 'Html body
Rich HTML message body.
',\n 'bulkId' => 'customBulkId',\n 'intermediateReport' => 'true',\n 'defaultPlaceholders' => '{\"ph1\": \"Success\", \"ph2\": \"Example\"}'\n 'headers' => '{\"List-Unsubscribe\": \"your unsubscribe link\", \"X-Custom-Header\": \"HeaderValue\"}'\n 'notifyUrl' => 'https://www.example.com/email/advanced',\n 'notifyContentType' => 'application/json',\n 'trackClicks' => 'true',\n 'trackOpens' => 'false',\n 'trackingPixelPosition' => 'TOP',\n 'callbackData' => 'DLR callback data',\n 'ipPoolId' => '08A3A7608750CC6E6080325A6ADF45B6'\n ));\n \n $request->addUpload('attachment', '/home/files/image.jpg', 'image.jpg', ''); \n try {\n $response = $request->send();\n if ($response->getStatus() == 200) {\n echo $response->getBody();\n } else {\n echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .\n $response->getBody();\n } \n } catch(HTTP_Request2_Exception $e) {\n echo 'Error: ' . $e->getMessage();\n }\n?>\n"
Send fully featured email using C#:
summary: Send fully featured email using C#
description: Send fully featured email using C#
value: '
var client = new RestClient("https://{base_url}/email/3/send");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {username:password}");
request.AlwaysMultipartFormData = true;
request.AddParameter("from", "Jane Smith ");
request.AddParameter("to", "john.smith@somedomain.com");
request.AddParameter("to", "alice.smith@somedomain.com");
request.AddParameter("to", "{"to": "alice.grey@somecompany.com", "placeholders": {"name": "Alice"}}")
request.AddParameter("cc", "{"to": "jane.grey@somecompany.com", "placeholders": {"name": "Jane"}}")
request.AddParameter("replyTo", "all.replies@somedomain.com");
request.AddParameter("subject", "Mail subject text and placeholder ph1");
request.AddParameter("text", "Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}");
request.AddParameter("html", "Html body
Rich HTML message body.
");
request.AddParameter("attachment", "@files/image1.jpg");
request.AddParameter("bulkId", "customBulkId");
request.AddParameter("intermediateReport", "true");
request.AddParameter("defaultPlaceholders", "{"ph1": "Success", "ph2": "Example"}")
request.AddParameter("headers", "{"List-Unsubscribe": "your unsubscribe link", "X-Custom-Header": "Header value"}")
request.AddParameter("notifyUrl", "https://www.example.com/email/advanced");
request.AddParameter("notifyContentType", "application/json");
request.AddParameter("trackClicks", "true");
request.AddParameter("trackOpens", "false");
request.AddParameter("trackingPixelPosition", "TOP");
request.AddParameter("callbackData", "DLR callback data");
request.AddParameter("ipPoolId", "08A3A7608750CC6E6080325A6ADF45B6");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
'
Send fully featured email using JavaScript:
summary: Send fully featured email using JavaScript
description: Send fully featured email using JavaScript
value: "\nconst data = new FormData();\ndata.append(\"from\", \"Jane Smith \");\ndata.append(\"to\", \"john.smith@somedomain.com\");\ndata.append(\"to\", \"alice.smith@somedomain.com\");\ndata.append(\"to\", \"{\\\"to\\\": \\\"alice.grey@somecompany.com\\\", \\\"placeholders\\\": {\\\"name\\\": \\\"Alice\\\"}}\")\ndata.append(\"cc\", \"{\\\"to\\\": \\\"jane.grey@somecompany.com\\\", \\\"placeholders\\\": {\\\"name\\\": \\\"Jane\\\"}}\")\ndata.append(\"replyTo\", \"all.replies@somedomain.com\");\ndata.append(\"subject\", \"Mail subject text and placeholder ph1\");\ndata.append(\"text\", \"Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}\");\ndata.append(\"html\", \"Html body
Rich HTML message body.
\");\ndata.append(\"attachment\", \"@files/image1.jpg\");\ndata.append(\"bulkId\", \"customBulkId\");\ndata.append(\"intermediateReport\", \"true\");\ndata.append(\"defaultPlaceholders\", \"{\\\"ph1\\\": \\\"Success\\\", \\\"ph2\\\": \\\"Example\\\"}\")\ndata.append(\"headers\", \"{\\\"List-Unsubscribe\\\": \\\"your unsubscribe link\\\", \\\"X-Custom-Header\\\": \\\"Header value\\\"}\")\ndata.append(\"notifyUrl\", \"https://www.example.com/email/advanced\");\ndata.append(\"notifyContentType\", \"application/json\");\ndata.append(\"trackClicks\", \"true\");\ndata.append(\"trackOpens\", \"false\");\ndata.append(\"trackingPixelPosition\", \"TOP\");\ndata.append(\"callbackData\", \"DLR callback data\");\ndata.append(\"ipPoolId\", \"08A3A7608750CC6E6080325A6ADF45B6\");\n\nconst xhr = new XMLHttpRequest();\nxhr.withCredentials = true;\n\nxhr.addEventListener(\"readystatechange\", function() {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n});\n\nxhr.open(\"POST\", \"https://{{baseUrl}}}}/email/3/send\");\nxhr.setRequestHeader(\"Authorization\", \"Basic {username:password}\");\nxhr.send(data);\n"
Send fully featured email using Python:
summary: Send fully featured email using Python
description: Send fully featured email using Python
value: "\nimport requests\nimport json\n \nurl = 'https://{base_url}/email/3/send'\nheaders = {'Authorization': 'Basic {username:password}'}\n \nfile = open('files/image1.jpg', 'rb')\nfiles = {'attachment': ('image1.jpg', file)}\n \ndata = {\n 'from': 'Jane Smith ',\n 'to': [\n 'john.smith@somedomain.com',\n 'alice.smith@somedomain.com',\n json.dumps({\n 'to': 'alice.grey@somecompany.com',\n 'placeholders': {'name': 'Alice'}\n })\n ],\n 'cc': json.dumps({\n 'to': 'jane.grey@somecompany.com',\n 'placeholders': {'name': 'Jane'}\n }),\n 'replyTo': 'all.replies@somedomain.com',\n 'subject': 'Mail subject text and placeholder ph1',\n 'text': 'Dear {{name}}, this is mail body text with placeholders in body {{ph1}} and {{ph2}}',\n 'html': 'Html body
Rich HTML message body.
',\n 'attachment': '@/files/image1.jpg',\n 'bulkId': 'customBulkId',\n 'intermediateReport': 'true',\n 'defaultPlaceholders': '{\"ph1\": \"Success\", \"ph2\": \"Example\"}',\n 'headers': '{\"List-Unsubscribe\": \"your unsubscribe link\", \"X-CustomHeader\": \"Header value\"}',\n 'notifyUrl': 'https://www.example.com/email/advanced',\n 'notifyContentType': 'application/json',\n 'trackClicks': true,\n 'trackOpens': false,\n 'trackingPixelPosition': 'TOP',\n 'callbackData': 'DLR callback data'\n 'ipPoolId': '08A3A7608750CC6E6080325A6ADF45B6'\n}\n\nresponse = requests.post(url, headers=headers, data=data, files=files)\nfile.close()\nprint(response.text)\n"
responses:
'200':
description: Successful Request
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.SendResponse'
examples:
Example for single message:
summary: Example for single message
description: Example for single message
value:
bulkId: snxemd8u52v7v84iiu69
messages:
- to: john.smith@somecompany.com
messageId: jgzra46v9zi1ztvd62t5
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
Example for single message with custom ID:
summary: Example for single message with custom ID
description: Example for single message with custom ID
value:
bulkId: customBulkId
messages:
- to: john.smith@somecompany.com
messageId: jgzra46v9zi1ztvd62t5
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
Example for multiple message:
summary: Example for multiple message
description: Example for multiple message
value:
bulkId: 4pk1xihiy4rln2f1g2se
messages:
- to: john.smith@somecompany.com
messageId: tu5k6tdo7df1bpgk7ggs
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
- to: jane.doe@somecompany.com
messageId: e7zzb1v9yirml2se9zo4
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-additional-throttling-information:
Learn more about custom throttling limits: https://www.infobip.com/docs/api
x-scopes:
- message:send
- email:message:send
- email:manage
x-additionalInfo:
markdown: '### Related
- [Send email via SMTP API](https://www.infobip.com/docs/email/smtp-specification)
- [Setup sender domain](https://www.infobip.com/docs/email/get-started#manage-domain-settings-register-a-new-domain)
- [Tracking Notifications](https://www.infobip.com/docs/email/send-email-over-api#tracking-notifications)
'
x-throttling-info:
- type: time
numberOfRequests: 4000
numberOfTimeUnits: 0
timeUnit: s
x-versions:
- versionNumber: 4
latest: true
operationId: send-email-messages-api
- versionNumber: 3
latest: false
operationId: send-fully-featured-email
/email/4/mime:
post:
tags:
- channels
summary: Send MIME email
description: Send an email where you can specify the content as MIME message.
operationId: send-mime-email
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.SendMimeRequestSchema'
examples:
Example request with mimeMessage as a base64-encoded MIME string containing HTML, text, and single To recipient.:
summary: Send email with single recipient using MIME
description: Example request with mimeMessage as a base64-encoded MIME string containing HTML, text, and single To recipient.
value:
messageId: requestMessageId
from: jenny.smith@company.com
destinations:
- john.smith@company
mimeMessage: RGF0ZTogV2VkLCAxOCBKdW4gMjAyNSAxMjo0ODoyMyArMDIwMCAoQ0VTVCkNCkZyb206IGplbm55LnNtaXRoQGNvbXBhbnkuY29tDQpUbzogam9obi5zbWl0aEBjb21wYW55LmNvbQ0KTWVzc2FnZS1JRDogPG1lc3NhZ2VAaWQ+DQpTdWJqZWN0OiBUaGlzIGlzIHN1YmplY3QNCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgDQoJYm91bmRhcnk9Ii0tLS09X1BhcnRfMF8xNDkzMzcyMS4xNzUwMjQzNzAzMTY0Ig0KWC1JQi1idWxrLWlkOiBkZWZhdWx0QnVsa0lkDQoNCi0tLS0tLT1fUGFydF8wXzE0OTMzNzIxLjE3NTAyNDM3MDMxNjQNCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQ0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdA0KDQpIZWxsbyB3b3JsZA0KLS0tLS0tPV9QYXJ0XzBfMTQ5MzM3MjEuMTc1MDI0MzcwMzE2NA0KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXMtYXNjaWkNCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQNCg0KPGRpdj5IZWxsbyB3b3JsZDwvZGl2Pg0KLS0tLS0tPV9QYXJ0XzBfMTQ5MzM3MjEuMTc1MDI0MzcwMzE2NC0tDQo=
Example request with mimeMessage as a base64-encoded MIME string containing HTML, text, and multiple To recipients.:
summary: Send email with multiple recipients using MIME
description: Example request with mimeMessage as a base64-encoded MIME string containing HTML, text, and multiple To recipients.
value:
messageId: requestMessageId
from: jenny.smith@company.com
destinations:
- john.smith@company
- mike.smith@company
mimeMessage: RGF0ZTogV2VkLCAxOCBKdW4gMjAyNSAxMjo1MTo1NiArMDIwMCAoQ0VTVCkNCkZyb206IGplbm55LnNtaXRoQGNvbXBhbnkuY29tDQpUbzogam9obi5zbWl0aEBjb21wYW55LmNvbSwgbWlrZS5zbWl0aEBjb21wYW55LmNvbQ0KTWVzc2FnZS1JRDogPG1lc3NhZ2VAaWQ+DQpTdWJqZWN0OiBUaGlzIGlzIHN1YmplY3QNCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgDQoJYm91bmRhcnk9Ii0tLS09X1BhcnRfMF85NDM3NDk5MDIuMTc1MDI0MzkxNjE1NyINClgtSUItYnVsay1pZDogZGVmYXVsdEJ1bGtJZA0KDQotLS0tLS09X1BhcnRfMF85NDM3NDk5MDIuMTc1MDI0MzkxNjE1Nw0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0DQoNCkhlbGxvIHdvcmxkDQotLS0tLS09X1BhcnRfMF85NDM3NDk5MDIuMTc1MDI0MzkxNjE1Nw0KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXMtYXNjaWkNCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQNCg0KPGRpdj5IZWxsbyB3b3JsZDwvZGl2Pg0KLS0tLS0tPV9QYXJ0XzBfOTQzNzQ5OTAyLjE3NTAyNDM5MTYxNTctLQ0K
? Example request with mimeMessage as a base64-encoded MIME string containing HTML, text, attachments and To, Cc and Bcc recipients.
: summary: Send email with multiple recipients using complex MIME
description: Example request with mimeMessage as a base64-encoded MIME string containing HTML, text, attachments and To, Cc and Bcc recipients.
value:
messageId: requestMessageId
from: jenny.smith@company.com
destinations:
- john.smith@company
- mike.smith@company
- jenny.smith@company
mimeMessage: RGF0ZTogV2VkLCAxOCBKdW4gMjAyNSAxMjo1NTozNiArMDIwMCAoQ0VTVCkKRnJvbTogamVubnkuc21pdGhAY29tcGFueS5jb20KVG86IGpvaG4uc21pdGhAY29tcGFueS5jb20KQ2M6IG1pa2Uuc21pdGhAY29tcGFueS5jb20KQmNjOiBqZW5ueS5zbWl0aEBjb21wYW55Ck1lc3NhZ2UtSUQ6IDxtZXNzYWdlQGlkPgpTdWJqZWN0OiBUaGlzIGlzIHN1YmplY3QKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7CiBib3VuZGFyeT0iLS0tLT1fUGFydF8wXzY1OTQ5NDU5OS4xNzUwMjQ0MTM1OTg0IgpYLUlCLWJ1bGstaWQ6IGRlZmF1bHRCdWxrSWQKCi0tLS0tLT1fUGFydF8wXzY1OTQ5NDU5OS4xNzUwMjQ0MTM1OTg0CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CgpIZWxsbyB3b3JsZAoKLS0tLS0tPV9QYXJ0XzBfNjU5NDk0NTk5LjE3NTAyNDQxMzU5ODQKQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXMtYXNjaWkKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAoKPGRpdj5IZWxsbyB3b3JsZCA8aW1nIHNyYz0iY2lkOmltYWdlXzEiLz4gPC9kaXY+CgotLS0tLS09X1BhcnRfMF82NTk0OTQ1OTkuMTc1MDI0NDEzNTk4NApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWk7IG5hbWU9YXR0YWNobWVudF8xCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1hdHRhY2htZW50XzEKClZHaHBjeUJwY3lCaGRIUmhZMmh0Wlc1MElHUmhkR0U9CgoKLS0tLS0tPV9QYXJ0XzBfNjU5NDk0NTk5LjE3NTAyNDQxMzU5ODQKQ29udGVudC1UeXBlOiBpbWFnZS9qcGVnCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LUlEOiBpbWFnZV8xCgpWR2hwY3lCcGN5QmhkSFJoWTJodFpXNTBJR1JoZEdFPQoKLS0tLS0tPV9QYXJ0XzBfNjU5NDk0NTk5LjE3NTAyNDQxMzU5ODQtLQ==
responses:
'200':
description: Successful Request
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.SendResponse'
examples:
Example for single message:
summary: Example for single message
description: Example for single message
value:
bulkId: snxemd8u52v7v84iiu69
messages:
- to: john.smith@somecompany.com
messageId: jgzra46v9zi1ztvd62t5
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
Example for single message with custom ID:
summary: Example for single message with custom ID
description: Example for single message with custom ID
value:
bulkId: customBulkId
messages:
- to: john.smith@somecompany.com
messageId: jgzra46v9zi1ztvd62t5
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
Example for multiple message:
summary: Example for multiple message
description: Example for multiple message
value:
bulkId: 4pk1xihiy4rln2f1g2se
messages:
- to: john.smith@somecompany.com
messageId: tu5k6tdo7df1bpgk7ggs
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
- to: jane.doe@somecompany.com
messageId: e7zzb1v9yirml2se9zo4
status:
groupId: 1
groupName: PENDING
id: 26
name: PENDING_ACCEPTED
description: Message accepted, pending for delivery.
'400':
$ref: '#/components/responses/ApiException400'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-additional-throttling-information:
Learn more about custom throttling limits: https://www.infobip.com/docs/api
x-scopes:
- message:send
- email:message:send
- email:manage
x-additionalInfo:
markdown: '### Related
- [Send email via SMTP API](https://www.infobip.com/docs/email/smtp-specification)
- [Setup sender domain](https://www.infobip.com/docs/email/get-started#manage-domain-settings-register-a-new-domain)
- [Tracking Notifications](https://www.infobip.com/docs/email/send-email-over-api#tracking-notifications)
'
x-throttling-info:
- type: time
numberOfRequests: 4000
numberOfTimeUnits: 0
timeUnit: s
/email/1/bulks:
get:
tags:
- channels
summary: Get scheduled bulks
description: See the scheduled time of your Email messages.
operationId: get-scheduled-emails
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the sent bulk.
required: true
style: form
explode: true
schema:
type: string
description: The ID that uniquely identifies the sent bulk.
example:
sendAt: '2025-12-01T15:00:00.000Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.BulkScheduleResponse'
examples:
Get sent email bulks response - single bulk:
summary: Get sent email bulks response - single bulk
description: Get sent email bulks response - single bulk
value:
externalBulkId: BULK-ID-123-xyz
bulks:
- bulkId: '2033247207450906897'
sendAt: 2025-12-01T12:00:00.000+0000
Get sent email bulks response - multiple bulks:
summary: Get sent email bulks response - multiple bulks
description: Get sent email bulks response - multiple bulks
value:
externalBulkId: BULK-ID-123-xyz
bulks:
- bulkId: '2033247207450906897'
sendAt: 2025-12-01T12:00:00.000+0000
- bulkId: '2033247207450906898'
sendAt: 2025-12-01T14:00:00.000+0000
- bulkId: '2033247207450906899'
sendAt: 2025-12-01T16:00:00.000+0000
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
- email:message:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
put:
tags:
- channels
summary: Reschedule messages
description: Change the date and time for sending scheduled messages.
operationId: reschedule-emails
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the sent bulk.
required: true
style: form
explode: true
schema:
type: string
description: The ID that uniquely identifies the sent bulk.
example: BULK-ID-123-xyz
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.BulkRescheduleRequest'
examples:
Reschedule email bulk request:
summary: Reschedule email bulk request
description: Reschedule email bulk request
value:
sendAt: '2025-12-01T15:00:00.000Z'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.BulkRescheduleResponse'
examples:
Reschedule email bulk response:
summary: Reschedule email bulk response
description: Reschedule email bulk response
value:
bulkId: '2033247207450906897'
sendAt: 2025-12-01T15:00:00.000+0000
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: CONFLICT
text: Update not allowed for bulk
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/email/1/bulks/status:
get:
tags:
- channels
summary: Get scheduled bulk statuses
description: See the status of scheduled email messages.
operationId: get-scheduled-email-statuses
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the sent bulk.
required: true
style: form
explode: true
schema:
type: string
description: The ID that uniquely identifies the sent bulk.
example: BULK-ID-123-xyz
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.BulkStatusResponse'
examples:
Get bulk status response - paused:
summary: Get bulk status response - paused
description: Get bulk status response - paused
value:
externalBulkId: BULK-ID-123-xyz
bulks:
- bulkId: '2033247207450906897'
status: PAUSED
Get bulk status response - canceled:
summary: Get bulk status response - canceled
description: Get bulk status response - canceled
value:
externalBulkId: BULK-ID-123-xyz
bulks:
- bulkId: '2033247207450906897'
status: CANCELED
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
- email:message:send
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
put:
tags:
- channels
summary: Update scheduled message statuses
description: Change status or completely cancel sending of scheduled messages.
operationId: update-scheduled-email-statuses
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the sent bulk.
required: true
style: form
explode: true
schema:
type: string
description: The ID that uniquely identifies the sent bulk.
example: BULK-ID-123-xyz
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.BulkUpdateStatusRequest'
examples:
Update bulk status request - pause:
summary: Update bulk status request - pause
description: Update bulk status request - pause
value:
status: PAUSED
Update bulk status request - cancel:
summary: Update bulk status request - cancel
description: Update bulk status request - cancel
value:
status: CANCELED
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.BulkUpdateStatusResponse'
examples:
Update bulk status response - paused:
summary: Update bulk status response - paused
description: Update bulk status response - paused
value:
bulkId: BULK-ID-123-xyz
status: PAUSED
Update bulk status response - canceled:
summary: Update bulk status response - canceled
description: Update bulk status response - canceled
value:
bulkId: BULK-ID-123-xyz
status: CANCELED
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: NOT_FOUND
text: Bulk not found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Response example:
summary: Response example
value:
requestError:
serviceException:
messageId: CONFLICT
text: Update not allowed for bulk
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: m
/email/4/logs:
get:
tags:
- channels
summary: Get email message logs
description: Use this method for displaying logs for example in the user interface. Available are the logs for the last 48 hours.
operationId: get-email-message-logs
parameters:
- name: sender
in: query
description: The sender ID which can be alphanumeric or numeric.
required: false
style: form
explode: true
schema:
type: string
- name: destination
in: query
description: Message destination address.
required: false
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: BULK-ID-123-xyz
- name: messageId
in: query
description: Unique message ID for which a log is requested. May contain multiple comma-separated values. Maximum length 2048 characters.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: MESSAGE-ID-123-xyz,MESSAGE-ID-124-xyz
- name: generalStatus
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.MessageGeneralStatus'
- name: sentSince
in: query
description: 'The logs will only include messages sent after this date. Use it alongside sentUntil to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: '2020-02-22T17:42:05.390+01:00'
- name: sentUntil
in: query
description: 'The logs will only include messages sent before this date. Use it alongside sentSince to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: 'The logs will only include messages sent before this date. Use it alongside sentSince to specify a time range for the logs, but only up to the maximum limit of 1000 logs per call. Has the following format: yyyy-MM-dd''T''HH:mm:ss.SSSZ.'
example: '2020-02-23T17:42:05.39+01:00'
example: '2020-02-23T17:42:05.390+01:00'
- name: limit
in: query
description: Maximum number of messages to include in logs. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access logs for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message. May contain multiple comma-separated values.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example: summersale
- name: useCursor
in: query
description: Flag used to enable cursor-based pagination. When set to true, the system will use the cursor to fetch the next set of logs.
required: false
style: form
explode: true
schema:
type: boolean
- name: cursor
in: query
description: Value which represents the current position in the data set. For the first request, this field shouldn't be defined. In subsequent requests, use the `nextCursor` value returned from the previous response to continue fetching data.
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.LogResponseEmailUnificationLog'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
- email:logs:read
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
x-versions:
- versionNumber: 4
latest: true
operationId: get-email-message-logs
- versionNumber: 1
latest: false
operationId: get-email-logs
/email/4/reports:
get:
tags:
- channels
summary: Get email delivery reports
description: Get one-time delivery reports for all sent emails.
externalDocs:
description: Learn more about EMAIL channel and use cases
url: https://www.infobip.com/docs/email
operationId: get-outbound-email-message-delivery-reports
parameters:
- name: bulkId
in: query
description: The ID that uniquely identifies the request.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the message sent.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: Maximum number of delivery reports to be returned. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access reports for the last 48h.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 50
maximum: 1000
example: 1
- name: entityId
in: query
description: Entity id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: promotional-traffic-entity
- name: applicationId
in: query
description: Application id used to send the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
required: false
style: form
explode: true
schema:
type: string
example: marketing-automation-application
- name: campaignReferenceId
in: query
description: ID of a campaign that was sent in the message.
required: false
style: form
explode: true
schema:
type: string
example: summersale
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.EmailDeliveryReports'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- email:message:send
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 120
numberOfTimeUnits: 0
timeUnit: m
x-versions:
- versionNumber: 4
latest: true
operationId: get-outbound-email-message-delivery-reports
- versionNumber: 1
latest: false
operationId: get-email-delivery-reports
/email/1/logs:
get:
tags:
- channels
summary: Get email message logs
description: This method allows you to get logs for sent emails using their messageId. Email logs are available for the last 48 hours.
operationId: get-email-logs
parameters:
- name: messageId
in: query
description: The ID that uniquely identifies the sent email.
required: false
style: form
explode: true
schema:
type: string
- name: from
in: query
description: From email address.
required: false
style: form
explode: true
schema:
type: string
- name: to
in: query
description: The recipient email address.
required: false
style: form
explode: true
schema:
type: string
- name: bulkId
in: query
description: Bulk ID that uniquely identifies the request.
required: false
style: form
explode: true
schema:
type: string
- name: campaignReferenceId
in: query
description: The ID that allows you to track, analyze, and show an aggregated overview and the performance of individual campaigns.
required: false
style: form
explode: true
schema:
type: string
- name: generalStatus
in: query
description: Indicates whether the initiated email has been successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status.
required: false
style: form
explode: true
schema:
type: string
- name: sentSince
in: query
description: 'Tells when the email was initiated. Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: '2021-01-02T01:00:00.123Z'
- name: sentUntil
in: query
description: 'Tells when the email request was processed by Infobip.Has the following format: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.'
required: false
style: form
explode: true
schema:
type: string
format: date-time
example: '2021-01-02T01:00:00.123Z'
- name: limit
in: query
description: Maximum number of logs.
required: false
style: form
explode: true
schema:
type: integer
maximum: 1000
- name: applicationId
in: query
description: '[Application](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#application) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
- name: entityId
in: query
description: '[Entity](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#entity) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.EmailLogResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:logs:read
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 60
numberOfTimeUnits: 0
timeUnit: m
x-versions:
- versionNumber: 4
latest: true
operationId: get-email-message-logs
- versionNumber: 1
latest: false
operationId: get-email-logs
/email/1/reports:
get:
tags:
- channels
summary: Get email delivery reports
description: Get one-time delivery reports for all sent emails.
operationId: get-email-delivery-reports
parameters:
- name: bulkId
in: query
description: Bulk ID for which report is requested.
required: false
style: form
explode: true
schema:
type: string
- name: messageId
in: query
description: The ID that uniquely identifies the sent email.
required: false
style: form
explode: true
schema:
type: string
- name: campaignReferenceId
in: query
description: The ID that allows you to track, analyze, and show an aggregated overview and the performance of individual campaigns.
required: false
style: form
explode: true
schema:
type: string
- name: limit
in: query
description: Maximum number of reports.
required: false
style: form
explode: true
schema:
type: integer
maximum: 1000
- name: applicationId
in: query
description: '[Application](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#application) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
- name: entityId
in: query
description: '[Entity](https://www.infobip.com/docs/cpaas-x/application-and-entity-management#entity) identifier used for filtering.'
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.ApiReportsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- message:send
- email:message:send
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 60
numberOfTimeUnits: 0
timeUnit: m
x-versions:
- versionNumber: 4
latest: true
operationId: get-outbound-email-message-delivery-reports
- versionNumber: 1
latest: false
operationId: get-email-delivery-reports
/email/2/validation:
post:
tags:
- channels
summary: Validate email address
description: 'This method lets you request validation of a single email address in real-time,
helping you to identify and remove poor-quality emails from your list.
'
operationId: validate-email-addresses
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.ValidationRequest'
examples:
Request example:
summary: Request example
value:
to: john.smith@example.com
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.ValidationRequest'
examples:
Request example:
summary: Request example
value: curl -s --user user:password https://{base_url}/email/2/validation --data-urlencode 'to=john.smith@example.com'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.ValidationResponse'
examples:
Valid email box response:
summary: Valid email box response
description: Valid email box response
value:
to: john.smith@example.com
validMailbox: 'true'
validSyntax: true
catchAll: false
disposable: false
roleBased: false
risk: LOW
Invalid email box response:
summary: Invalid email box response
description: Invalid email box response
value:
to: jane.smith@example.com
validMailbox: 'false'
validSyntax: true
catchAll: false
disposable: false
roleBased: false
detailedReasons: known_hardbounce
risk: HIGH
Mailbox is unknown response:
summary: Mailbox is unknown response
description: Mailbox is unknown response
value:
to: john.doe@example.org
validMailbox: unknown
validSyntax: true
catchAll: false
disposable: false
roleBased: false
reason: INBOX_FULL
detailedReasons: mailbox_full
risk: HIGH
application/xml:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.ValidationResponse'
examples:
Valid email box response:
summary: Valid email box response
description: Valid email box response
value: "\n \n john.smith@example.com\n \n true\n \n true\n \n false\n \n false\n \n false\n \n LOW\n \n\n"
Invalid email box response:
summary: Invalid email box response
description: Invalid email box response
value: "\n \n jane.smith@example.com\n \n false\n \n true\n \n false\n \n false\n \n false\n \n known_hardbounce\n \n HIGH\n \n\n"
Mailbox is unknown response:
summary: Mailbox is unknown response
description: Mailbox is unknown response
value: "\n \n john.doe@example.org\n \n unknown\n \n true\n \n false\n \n false\n \n false\n \n INBOX_FULL\n \n mailbox_full\n \n HIGH\n \n\n"
'400':
description: Bad request response
content:
application/json:
schema:
$ref: '#/components/schemas/febb9d147c03fd2fbfd3c2210892c186364d60568040914121c07343344b284b.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
application/xml:
schema:
$ref: '#/components/schemas/febb9d147c03fd2fbfd3c2210892c186364d60568040914121c07343344b284b.ApiException'
examples:
Bad request:
summary: Bad request
value: "\n \n \n BAD_REQUEST\n Bad request\n \n \n\n"
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 150
numberOfTimeUnits: 0
timeUnit: s
/email/2/validations:
get:
tags:
- channels
summary: Get email validations
description: 'This method lets you review and analyze the outcomes of your
submitted bulk email validations to gain insights into the quality of your email list.
'
operationId: get-validations
parameters:
- name: validationRequestId
in: query
description: 'Unique identifier for the bulk email validation request. Provide your own or leave it blank to have one generated automatically.
'
required: false
style: form
explode: true
schema:
type: string
description: 'Unique identifier for the bulk email validation request. Provide your own or leave it blank to have one generated automatically.
'
example: '2034072219640523072'
maxLength: 200
minLength: 0
example: 2034072219640523072
- name: destination
in: query
required: false
style: form
explode: true
schema:
type: array
description: The email addresses to search.
items:
type: string
example: '["john.smith@example.org","jane.doe@example.org"]'
maxLength: 320
minLength: 1
maxItems: 100
minItems: 0
- name: validMailbox
in: query
description: Indicates whether email address is valid.
required: false
style: form
explode: true
schema:
type: string
description: Indicates whether email address is valid.
example: 'true'
pattern: ^(true|false|unknown)$
example: true
- name: validSyntax
in: query
description: Indicates whether email address syntax is valid.
required: false
style: form
explode: true
schema:
type: boolean
description: Indicates whether email address syntax is valid.
example: true
example: true
- name: catchAll
in: query
description: Indicates catch all status of email address.
required: false
style: form
explode: true
schema:
type: boolean
description: Indicates catch all status of email address.
example: false
example: false
- name: disposable
in: query
description: 'Indicates whether email address is disposable.
A disposable email address is a temporary address that is often used for short-term purposes and can be discarded after use.
'
required: false
style: form
explode: true
schema:
type: boolean
description: 'Indicates whether email address is disposable.
A disposable email address is a temporary address that is often used for short-term purposes and can be discarded after use.
'
example: false
example: false
- name: roleBased
in: query
description: 'Indicates whether email address is role-based.
A role-based email address is one that is associated with a specific function or group within an organization,
such as marketing@example.org, rather than an individual person.
'
required: false
style: form
explode: true
schema:
type: boolean
description: 'Indicates whether email address is role-based.
A role-based email address is one that is associated with a specific function or group within an organization,
such as marketing@example.org, rather than an individual person.
'
example: false
example: false
- name: risk
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.ApiRisk'
example: LOW
- name: validatedDateFrom
in: query
description: 'Start date for searching validations.
If not specified, defaults to 7 days before the current date.
The date cannot be more than 1 month in the past.
'
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: 'Start date for searching validations.
If not specified, defaults to 7 days before the current date.
The date cannot be more than 1 month in the past.
'
example: '2025-03-01T12:03:15.12Z'
example: '2025-03-01T12:03:15.120Z'
- name: validatedDateTo
in: query
description: End date for searching validations.
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: End date for searching validations.
example: '2025-03-04T15:02:11.4Z'
example: '2025-03-04T15:02:11.400Z'
- name: cursor
in: query
description: 'A pagination token for navigating through bulk email validation results.
Initially empty, it updates with each API response to fetch the next set of results, ensuring efficient data retrieval.
'
required: false
style: form
explode: true
schema:
type: string
description: 'A pagination token for navigating through bulk email validation results.
Initially empty, it updates with each API response to fetch the next set of results, ensuring efficient data retrieval.
'
example: A1F3B5C7D9E2F4A6B8C0D1E3F5A7B9C1D3E5F7A9B2C4D6E8F0A1B3C5D7E9F2A4
example: A1F3B5C7D9E2F4A6B8C0D1E3F5A7B9C1D3E5F7A9B2C4D6E8F0A1B3C5D7E9F2A4
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 100
description: Number of records per page.
example: 100
maximum: 1000
minimum: 1
example: 100
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.GetValidationPageResponse'
examples:
Get validations response:
summary: Get validations response
value:
results:
- destination: john.smith@example.org
validMailbox: 'true'
validSyntax: true
catchAll: false
disposable: true
roleBased: false
risk: HIGH
detailedReasons: disposable_address
bulkValidationDate: '2025-03-01T12:02:15.100Z'
validationRequestId: '2034072219640523072'
- destination: john.doe@example.org
validMailbox: 'true'
validSyntax: true
catchAll: false
disposable: false
roleBased: false
risk: LOW
bulkValidationDate: '2025-03-01T13:03:05.500Z'
validationRequestId: '2034072219640523072'
paging:
size: 100
previousCursor: A1F3B5C7D9E2F4A6B8C0D1E3F5A7B9C1D3E5F7A9B2C4D6E8F0A1B3C5D7E9F2A4
nextCursor: B78918C36BB3BDCB194C0DFD2C2FBB8F7D098E56E8B5D8699997CD97A049D739
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 1
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Validate email addresses
description: 'This method lets you request a bulk email address validation,
helping you to detect low-quality emails and tidy up your recipient list.
'
operationId: request-validations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.ApiBulkRequest'
examples:
Post validations request:
summary: Post validations request
value:
validationRequestId: '2034072219640523072'
destinations:
- destination: john.smith@example.org
- destination: jane.doe@example.org
required: true
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/45c843446703ba5f4438a6f721c629420452796de20bd3dd9adfccde3ed2ffff.BulkResponse'
examples:
Post validations response:
summary: Post validations response
value:
validationRequestId: '2034072219640523072'
'400':
$ref: '#/components/responses/ApiError400'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 1
numberOfTimeUnits: 0
timeUnit: s
/email/1/domains:
get:
tags:
- channels
summary: Get domains
description: This API is to get all domain associated with the account. It also provides details of the retrieved domain like the DNS records, Tracking details, Active/Blocked status,etc.
operationId: get-all-domains
parameters:
- name: size
in: query
description: Maximum number of domains to be viewed per page. Default value is 10 with a maximum of 20 records per page.
required: false
style: form
explode: true
schema:
type: integer
default: 10
maximum: 20
minimum: 1
- name: page
in: query
description: Page number you want to see. Default is 0.
required: false
style: form
explode: true
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.AllDomainsResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
- email:message:send
x-throttling-info:
- type: token
replenishRate: 1
requestedTokens: 1
burstCapacity: 5
post:
tags:
- channels
summary: Add domain
description: This method allows you to add new domains with a limit to create a maximum of 1000 domains in a day.
operationId: add-domain
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.AddDomainRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.DomainResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'409':
description: Domain already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: token
replenishRate: 1
requestedTokens: 1
burstCapacity: 5
/email/1/domains/{domainName}:
get:
tags:
- channels
summary: Get domain details
description: This API provides with the details of the domain like the DNS records, Tracking details, Active/Blocked status,etc.
operationId: get-domain-details
parameters:
- name: domainName
in: path
description: Domain for which the details need to be viewed.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.DomainResponse'
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Requested domain does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
- email:message:send
x-throttling-info:
- type: token
replenishRate: 1
requestedTokens: 1
burstCapacity: 5
delete:
tags:
- channels
summary: Delete domain
description: This method allows you to delete an existing domain.
operationId: delete-domain
parameters:
- name: domainName
in: path
description: Domain name which needs to be deleted.
required: true
style: simple
explode: false
schema:
type: string
responses:
'204':
description: Successful.
content:
application/json: {}
'400':
description: Bad Request.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
$ref: '#/components/responses/ApiException404'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: token
replenishRate: 1
requestedTokens: 1
burstCapacity: 5
/email/1/domains/{domainName}/tracking:
put:
tags:
- channels
summary: Update domain tracking events
description: API to update tracking events for the provided domain. Tracking events can be updated only for CLICKS, OPENS and UNSUBSCRIBES.
operationId: update-tracking-events
parameters:
- name: domainName
in: path
description: Domain for which the tracking events need to be updated.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.TrackingEventRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/34438aa163eb13a2a06ad96ae98170e41cc2ee8902e8b7655aba73ceb0bb23f1.DomainResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Requested domain does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: token
replenishRate: 1
requestedTokens: 1
burstCapacity: 5
/email/1/domains/{domainName}/verify:
post:
tags:
- channels
summary: Verify domain
description: API request to verify records(TXT, MX, DKIM) associated with the provided domain.
operationId: verify-domain
parameters:
- name: domainName
in: path
description: Name of the domain that has to be verified.
required: true
style: simple
explode: false
schema:
type: string
responses:
'202':
description: ACCEPTED
'400':
description: Bad Request.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
examples:
Bad request:
summary: Bad request
value:
requestError:
serviceException:
messageId: BAD_REQUEST
text: Bad request
'401':
$ref: '#/components/responses/ApiException401'
'403':
$ref: '#/components/responses/ApiException403'
'404':
description: Requested domain does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/73f6910bb0f0a3f1f6a9e6796ff94e4b37e388cd86d56d7e974197854e7020f7.ApiException'
'429':
$ref: '#/components/responses/ApiException429'
'500':
$ref: '#/components/responses/ApiException500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: token
replenishRate: 1
requestedTokens: 1
burstCapacity: 5
/email/1/suppressions:
get:
tags:
- channels
summary: Get suppressions
description: This method retrieves the suppressions for domains that are owned or have permissions granted.
operationId: get-suppressions
parameters:
- name: domainName
in: query
description: Name of the requested domain.
required: true
style: form
explode: true
schema:
type: string
description: Name of the requested domain.
- name: type
in: query
description: Type of suppression.
required: true
style: form
explode: true
schema:
$ref: '#/components/schemas/53ea038e2044401649ce25e79296cd97fe7d6f7f97d15a035e41419183f810a1.ApiSuppressionType'
- name: emailAddress
in: query
description: Email address that is suppressed.
required: false
style: form
explode: true
schema:
type: string
description: Email address that is suppressed.
- name: recipientDomain
in: query
description: Recipient domain that is suppressed.
required: false
style: form
explode: true
schema:
type: string
description: Recipient domain that is suppressed.
- name: createdDateFrom
in: query
description: Start date for searching suppressions.
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: Start date for searching suppressions.
- name: createdDateTo
in: query
description: End date for searching suppressions.
required: false
style: form
explode: true
schema:
type: string
format: date-time
description: End date for searching suppressions.
- name: page
in: query
description: Requested page number.
required: false
style: form
explode: true
schema:
type: integer
default: 0
description: Requested page number.
minimum: 0
- name: size
in: query
description: Requested page size.
required: false
style: form
explode: true
schema:
type: integer
default: 100
description: Requested page size.
maximum: 1000
minimum: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/53ea038e2044401649ce25e79296cd97fe7d6f7f97d15a035e41419183f810a1.SuppressionInfoPageResponse'
examples:
Get suppressions response:
summary: Get suppressions response
value:
results:
- domainName: example.com
emailAddress: jane.smith@example.org
type: BOUNCE
createdDate: '2024-08-14T14:02:17.366Z'
reason: '550 5.1.1 : user does not exist'
paging:
page: 0
size: 100
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request example for get suppressions:
summary: Bad request example for get suppressions
description: Bad request example for get suppressions
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: type
violation: must not be null
- property: domainName
violation: must not be blank
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Add suppressions
description: This method allows you to add email addresses to the suppression list. It accepts suppression requests, saves them asynchronously, and automatically ignores any duplicate entries.
operationId: add-suppressions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/53ea038e2044401649ce25e79296cd97fe7d6f7f97d15a035e41419183f810a1.AddSuppressionRequest'
examples:
Add suppression request:
summary: Add suppression request
value:
suppressions:
- domainName: example.com
emailAddress:
- jane.smith@example.org
- john.doe@example.org
type: BOUNCE
- domainName: another.example.com
emailAddress:
- john.smith@example.org
- john.perry@example.org
type: BOUNCE
required: true
responses:
'204':
description: No content
'400':
$ref: '#/components/responses/ApiError400'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete suppressions
description: This method allows you to delete email addresses from the suppression list. It accepts delete suppression requests and asynchronously deletes them.
operationId: delete-suppressions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/53ea038e2044401649ce25e79296cd97fe7d6f7f97d15a035e41419183f810a1.DeleteSuppressionRequest'
examples:
Delete suppression request:
summary: Delete suppression request
value:
suppressions:
- domainName: example.com
emailAddress:
- jane.smith@example.org
- john.doe@example.org
type: BOUNCE
- domainName: example.com
emailAddress:
- john.smith@example.org
- john.perry@example.org
type: COMPLAINT
- domainName: example.com
emailAddress:
- jack@peterson@example.org
type: OVER_QUOTA
required: true
responses:
'204':
description: No content
'400':
$ref: '#/components/responses/ApiError400'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/email/1/suppressions/domains:
get:
tags:
- channels
summary: Get suppression domains
description: This method allows you to get domains that can be managed for suppressions and are either owned or have granted permissions.
operationId: get-domains
parameters:
- name: page
in: query
description: Requested page number.
required: false
style: form
explode: true
schema:
type: integer
default: 0
description: Requested page number.
minimum: 0
- name: size
in: query
description: Requested page size.
required: false
style: form
explode: true
schema:
type: integer
default: 100
description: Requested page size.
minimum: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/53ea038e2044401649ce25e79296cd97fe7d6f7f97d15a035e41419183f810a1.DomainInfoPageResponse'
examples:
Get domains response:
summary: Get domains response
value:
results:
- domainName: another.example.com
dataAccess: OWNER
readBounces: true
createBounces: true
deleteBounces: true
readComplaints: true
createComplaints: true
deleteComplaints: true
readOverquotas: true
deleteOverquotas: true
- domainName: example.com
dataAccess: GRANTED
readBounces: true
createBounces: true
deleteBounces: false
readComplaints: true
createComplaints: false
deleteComplaints: false
readOverquotas: false
deleteOverquotas: false
paging:
page: 0
size: 100
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 100
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/ips:
get:
tags:
- channels
summary: Get IPs
description: Returns all the dedicated IP addresses owned by this account.
operationId: get-all-ips
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpDetailResponse'
examples:
Response example:
summary: Response example
value:
- id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
pools:
- id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/ips/commission:
post:
tags:
- channels
summary: Commission IP
description: "Commission a new Dedicated IP.\nDisaster Recovery is enabled by default for email traffic in the US and EU regions.Each dedicated IP is paired with a corresponding IP from a different data center within the same region. This pairing ensures that if one data center becomes unavailable, the paired IP can seamlessly take over full sending responsibilities, maintaining uninterrupted traffic flow.\nStandard pricing for dedicated IPs applies. Charges are incurred at the time of commissioning and recur monthly on the 1st of each month. For Disaster Recovery regions, each IP in the pair is billed separately at the standard rate.\nTo confirm the pricing applicable to your account, please contact your Account Manager.\n "
operationId: commission-ip
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpResponse'
examples:
Response example:
summary: Response example
value:
id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 1
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/ips/{ipId}:
get:
tags:
- channels
summary: Get IP
description: Get detailed information about provided dedicated IP.
operationId: get-ip-details
parameters:
- name: ipId
in: path
description: Dedicated IP identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpDetailResponse'
examples:
Response example:
summary: Response example
value:
id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
pools:
- id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipId
violation: Dedicated IP not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Decommission IP
description: 'Decommission a Dedicated IP
Once a dedicated IP is decommissioned, billing for that IP will end at the start of the next billing cycle (on the 1st of the following month). For accounts with Disaster Recovery enabled in the US and EU regions, paired dedicated IPs will be decommissioned together.
'
operationId: decommission-ip
parameters:
- name: ipId
in: path
description: Dedicated IP identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipId
violation: Dedicated IP not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 1
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/pools:
get:
tags:
- channels
summary: Get IP pools
description: Returns all the pools that are owned (created) by this account.
operationId: get-ip-pools
parameters:
- name: name
in: query
description: IP pool name.
required: false
style: form
explode: true
schema:
type: string
maxLength: 100
minLength: 1
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolDetailResponse'
examples:
Response example:
summary: Response example
value:
- id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
ips:
- id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create IP pool
description: Create a new IP pool.
operationId: create-ip-pool
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolCreateApiRequest'
examples:
Request example:
summary: Request example
value:
name: IP Pool name
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolResponse'
examples:
Response example:
summary: Response example
value:
id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
'400':
$ref: '#/components/responses/ApiError400'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/pools/{poolId}:
get:
tags:
- channels
summary: Get IP pool
description: Get detailed information about a provided IP pool.
operationId: get-ip-pool
parameters:
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolDetailResponse'
examples:
Response example:
summary: Response example
value:
id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
ips:
- id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipPoolId
violation: IP pool not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
put:
tags:
- channels
summary: Update IP pool
description: Update a provided IP pool.
operationId: update-ip-pool
parameters:
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolCreateApiRequest'
examples:
Request example:
summary: Request example
value:
name: IP Pool name
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolResponse'
examples:
Response example:
summary: Response example
value:
id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
'400':
$ref: '#/components/responses/ApiError400'
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipPoolId
violation: IP pool not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Delete IP pool
description: Delete provided IP pool. Deleting an IP pool also deletes any assigned IPs and any assignments to domains.
operationId: delete-ip-pool
parameters:
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipPoolId
violation: IP pool not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/pools/{poolId}/ips:
post:
tags:
- channels
summary: Assign IP to pool
description: Assign provided dedicated IP to the provided IP pool.
operationId: assign-ip-to-pool
parameters:
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolAssignIpApiRequest'
examples:
Request example:
summary: Request example
value:
ipId: DB3F9D439088BF73F5560443C8054AC4
required: true
responses:
'204':
description: No Content
content:
application/json: {}
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipPoolId
violation: IP pool not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/pools/{poolId}/ips/{ipId}:
delete:
tags:
- channels
summary: Unassign IP from pool
description: Unassign provided IP from the specific pool.
operationId: remove-ip-from-pool
parameters:
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
- name: ipId
in: path
description: Dedicated IP identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'204':
description: No Content
content:
application/json: {}
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: ipPoolId
violation: IP pool not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/paginated/ips:
get:
tags:
- channels
summary: Get IPs (paginated)
description: Returns paginated dedicated IP addresses owned by this account.
operationId: get-all-ips-paginated
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 20
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpDetailResponse'
paging:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.PageInfo'
required:
- paging
- results
examples:
Response example:
summary: Response example
value:
results:
- id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
pools:
- id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
paging:
page: 0
size: 20
totalPages: 2
totalResults: 25
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/paginated/pools:
get:
tags:
- channels
summary: Get IP pools (paginated)
description: Returns paginated IP pools owned by this account.
operationId: get-all-ip-pools-paginated
parameters:
- name: page
in: query
description: Results page to retrieve (0..N).
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Number of records per page.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 20
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpPoolDetailResponse'
paging:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.PageInfo'
required:
- paging
- results
examples:
Response example:
summary: Response example
value:
results:
- id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
ips:
- id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
ipAddresses:
- 198.51.100.0
- 198.51.100.1
paging:
page: 0
size: 20
totalPages: 2
totalResults: 25
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/domains/{domainId}:
get:
tags:
- channels
summary: Get domain
description: Get detailed information for provided domain such as assigned pools and their IPs.
operationId: get-ip-domain
parameters:
- name: domainId
in: path
description: Domain identifier.
required: true
style: simple
explode: false
schema:
type: integer
format: int64
minimum: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.IpDomainResponse'
examples:
Response example:
summary: Response example
value:
id: 1
name: example.com
pools:
- id: 08A3A7608750CC6E6080325A6ADF45B6
name: IP pool name
priority: 0
ips:
- id: DB3F9D439088BF73F5560443C8054AC4
ip: 198.51.100.0
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: domainId
violation: Domain not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/domains/{domainId}/pools:
post:
tags:
- channels
summary: Assign IP pool to domain
description: Assign an IP pool to the provided domain.
operationId: assign-pool-to-domain
parameters:
- name: domainId
in: path
description: Domain identifier.
required: true
style: simple
explode: false
schema:
type: integer
format: int64
minimum: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.DomainIpPoolAssignApiRequest'
examples:
Request example:
summary: Request example
value:
poolId: 08A3A7608750CC6E6080325A6ADF45B6
priority: 0
required: true
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: domainId
violation: Domain not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/ip-management/domains/{domainId}/pools/{poolId}:
put:
tags:
- channels
summary: Update IP pool sending priority
description: Update specified pool's sending priority for the provided domain.
operationId: update-domain-pool-priority
parameters:
- name: domainId
in: path
description: Domain identifier.
required: true
style: simple
explode: false
schema:
type: integer
format: int64
minimum: 1
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/61cea6785aa06882a92b0d6cc8c922ce1d44b92bfbdfd6cde0df0f73fb2499d6.DomainIpPoolUpdateApiRequest'
required: true
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: domainId
violation: Domain not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
delete:
tags:
- channels
summary: Unassign IP pool from domain
description: Unassign a specified pool from the provided domain.
operationId: remove-ip-pool-from-domain
parameters:
- name: domainId
in: path
description: Domain identifier.
required: true
style: simple
explode: false
schema:
type: integer
format: int64
minimum: 1
- name: poolId
in: path
description: IP pool identifier.
required: true
style: simple
explode: false
schema:
type: string
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Response example:
summary: Response example
value:
errorCode: E404
description: Not found - request URL doesn't exist on the API server or resource is not found.
action: Check the resources and adjust your request.
violations:
- property: domainId
violation: Domain not found
resources:
- name: API documentation
url: https://www.infobip.com/docs/api/channels/email
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
/email/1/templates:
get:
tags:
- channels
summary: Get email templates
description: Retrieves a list of available email templates.
operationId: get-email-templates
parameters:
- name: page
in: query
description: Identifies a specific page number from which to retrieve the email template details.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 0
minimum: 0
- name: size
in: query
description: Identifies the maximum number of email templates returned in the list.
required: false
style: form
explode: true
schema:
type: integer
format: int32
default: 20
maximum: 20
minimum: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/39bb6975d36d214ea076d974c69ec0b82edda805f4c6bf36a3f6f7d154c98fa0.EmailTemplateListPage'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Bad request:
summary: Bad request
value:
errorCode: E400
description: Request cannot be processed.
action: Check the syntax, violations and adjust the request.
violations:
- property: property.path
violation: Violation message.
resources: []
'401':
$ref: '#/components/responses/ApiError401'
'403':
$ref: '#/components/responses/ApiError403'
'429':
$ref: '#/components/responses/ApiError429'
'500':
$ref: '#/components/responses/ApiError500'
security:
- IBSSOTokenHeader: []
- APIKeyHeader: []
- Basic: []
- OAuth2: []
x-scopes:
- email:manage
- email:templates:manage
x-throttling-info:
- type: time
numberOfRequests: 10
numberOfTimeUnits: 0
timeUnit: s
post:
tags:
- channels
summary: Create email template
description: Creates a new email template with the provided details.
operationId: create-email-template
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/39bb6975d36d214ea076d974c69ec0b82edda805f4c6bf36a3f6f7d154c98fa0.CreateEmailTemplateRequest'
examples:
Create email template using cURL:
summary: Create email template using cURL
description: Create email template using cURL
value: "\ncurl -X POST 'https://{baseUrl}/email/1/templates' \\\n -H 'Authorization: {authorization}' \\\n -H 'Accept: application/json' \\\n -F 'name=Welcome email' \\\n -F 'from=Infobip ' \\\n -F 'replyTo=support@example.com' \\\n -F 'subject=Welcome to Infobip' \\\n -F 'preheader=Welcome to Infobip' \\\n -F 'html=Welcome to Infobip
' \\\n -F 'landingPage=1_2345' \\\n -F 'attachments=[{\\\"contentType\\\":\\\"application/pdf\\\",\\\"fileName\\\":\\\"attachment.pdf\\\",\\\"data\\\":\\\"{base64encodedData}\\\"}]' \n"
Create email template using Java:
summary: Create email template using Java
description: Create email template using Java
value: "\nOkHttpClient client = new OkHttpClient().newBuilder().build();\n\nString attachmentsJson = \"[{\\\"contentType\\\":\\\"application/pdf\\\",\\\"fileName\\\":\\\"attachment.pdf\\\",\\\"data\\\":\\\"{base64encoded_data}\\\"}]\";\n\nMultipartBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)\n .addFormDataPart(\"name\", \"Welcome email\")\n .addFormDataPart(\"from\", \"Infobip \")\n .addFormDataPart(\"replyTo\", \"support@example.com\")\n .addFormDataPart(\"subject\", \"Welcome to Infobip\")\n .addFormDataPart(\"preheader\", \"Welcome to Infobip\")\n .addFormDataPart(\"html\", \"Welcome to Infobip
\")\n .addFormDataPart(\"landingPage\", \"1_2345\")\n .addFormDataPart(\"attachments\", attachmentsJson) // String representation of JSON array\n .build();\n\nRequest request = new Request.Builder()\n .url(\"https://{baseUrl}/email/1/templates\")\n .method(\"POST\", body)\n .addHeader(\"Authorization\", \"{authorization}\")\n .addHeader(\"Accept\", \"application/json\")\n .build();\n\nResponse response = client.newCall(request).execute();\nSystem.out.println(response.body().string());\n"
Create email template using C#:
summary: Create email template using C#
description: Create email template using C#
value: "\nvar options = new RestClientOptions(\"{baseUrl}\")\n{\n MaxTimeout = -1,\n};\nvar client = new RestClient(options);\n\nvar request = new RestRequest(\"/email/1/templates\", Method.POST);\nrequest.AddHeader(\"Authorization\", \"{authorization}\");\nrequest.AddHeader(\"Accept\", \"application/json\");\n\n// Create a multipart form-data content\nvar formData = new MultipartFormDataContent();\nformData.Add(new StringContent(\"Welcome email\"), \"name\");\nformData.Add(new StringContent(\"Infobip \"), \"from\");\nformData.Add(new StringContent(\"support@example.com\"), \"replyTo\");\nformData.Add(new StringContent(\"Welcome to Infobip\"), \"subject\");\nformData.Add(new StringContent(\"Welcome to Infobip\"), \"preheader\");\nformData.Add(new StringContent(\"Welcome to Infobip
\"), \"html\");\nformData.Add(new StringContent(\"1_2345\"), \"landingPage\");\n\n// Add attachments as a JSON string\nvar attachmentsJson = \"[{\\\"contentType\\\":\\\"application/pdf\\\",\\\"fileName\\\":\\\"attachment.pdf\\\",\\\"data\\\":\\\"{base64encodedData}\\\"}]\";\nformData.Add(new StringContent(attachmentsJson), \"attachments\");\n\n// Add the form data to the request\nrequest.AddBody(formData);\n\n// Execute the request\nRestResponse response = await client.ExecuteAsync(request);\n\n// Output the response\nConsole.WriteLine(response.Content);\n"
Create email template using Go:
summary: Create email template using Go
description: Create email template using Go
value: "\npackage main\n\nimport (\n \"bytes\"\n \"fmt\"\n \"mime/multipart\"\n \"net/http\"\n \"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://{baseUrl}/email/1/templates\"\n\tmethod := \"POST\"\n\n\t// Create a buffer and a multipart writer\n\tvar requestBody bytes.Buffer\n\twriter := multipart.NewWriter(&requestBody)\n\n\t// Add fields to the multipart form-data\n\twriter.WriteField(\"name\", \"Welcome email\")\n\twriter.WriteField(\"from\", \"Infobip \")\n\twriter.WriteField(\"replyTo\", \"support@example.com\")\n\twriter.WriteField(\"subject\", \"Welcome to Infobip\")\n\twriter.WriteField(\"preheader\", \"Welcome to Infobip\")\n\twriter.WriteField(\"html\", \"Welcome to Infobip
\")\n\twriter.WriteField(\"landingPage\", \"1_2345\")\n\n\t// Add attachments as a JSON string\n\tattachmentsJson := `[{\"contentType\":\"application/pdf\",\"fileName\":\"attachment.pdf\",\"data\":\"{base64encoded_data}\"}]`\n\twriter.WriteField(\"attachments\", attachmentsJson)\n\n\t// Close the writer to finish constructing the body\n\twriter.Close()\n\n\t// Create the request\n\treq, err := http.NewRequest(method, url, &requestBody)\n\tif err != nil {\n\t\tfmt.Println(err)\n\t\treturn\n\t}\n\n\t// Set necessary headers\n\treq.Header.Set(\"Authorization\", \"{authorization}\")\n\treq.Header.Set(\"Accept\", \"application/json\")\n\treq.Header.Set(\"Content-Type\", writer.FormDataContentType())\n\n\t// Send the request\n\tclient := &http.Client{}\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tfmt.Println(err)\n\t\treturn\n\t}\n\tdefer res.Body.Close()\n\n\t// Read and output the response\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tfmt.Println(err)\n\t\treturn\n\t}\n\tfmt.Println(string(body))\n}\n"
Create email template using Python:
summary: Create email template using Python
description: Create email template using Python
value: "\nimport requests\n\nurl = \"https://{baseUrl}/email/1/templates\"\nheaders = {\n 'Authorization': '{authorization}',\n 'Accept': 'application/json'\n}\n\n# Multipart form data\nfiles = {\n 'name': (None, 'Welcome email'),\n 'from': (None, 'Infobip Welcome to Infobip