{ "openapi":"3.1.0", "info":{ "title":"Infobip OpenAPI Specification", "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":"customer-engagement", "description":"Complete solutions that will help you drive better outcomes for your customers and business across the entire customer journey.\n", "x-type":"category", "x-displayName":"Customer Engagement" }, { "name":"people", "description":"Build rich profiles for each person to create audience segments for more precise targeting. Manage duplicates and import your data over API.\n\nEvents reflect actions that end users take on your website or in your mobile application.\n\nEvents API is a robust way to send those events to Infobip. Event can be sent only to an existing person in People module and an event definition should be created beforehand to describe contents of the event.\n\nOther events tracking options:\n* [ JavaScript SDK ](https://github.com/infobip/people-web-sdk)\n* [iOS SDK](https://github.com/infobip/mobile-messaging-sdk-ios/wiki/Events)\n* [Android SDK](https://github.com/infobip/mobile-messaging-sdk-android/wiki/Events)\n", "x-type":"product", "x-displayName":"People" }, { "name":"person-profile", "description":"", "x-type":"section", "x-displayName":"Person profile" }, { "name":"company-profile", "description":"", "x-type":"section", "x-displayName":"Company profile" }, { "name":"tags", "description":"", "x-type":"section", "x-displayName":"Tags" }, { "name":"custom-attributes", "description":"", "x-type":"section", "x-displayName":"Custom attributes" }, { "name":"custom-attributes-lists", "description":"", "x-type":"section", "x-displayName":"Custom attributes: Lists" }, { "name":"contact-information:-push", "description":"", "x-type":"section", "x-displayName":"Contact Information: Push" }, { "name":"events", "description":"", "x-type":"section", "x-displayName":"Events" }, { "name":"segments", "description":"", "x-type":"section", "x-displayName":"Segments" }, { "name":"moments", "description":"Use Moments to set up and manage automated messaging campaigns with your customers by building conversation workflows.\n", "x-type":"product", "x-displayName":"Moments" }, { "name":"flow", "description":"[Flow](https://www.infobip.com/docs/moments/manage-flow) is the Infobip communication builder that helps you create and manage messaging campaigns. The Flows API allows you to add or remove people from communication programmatically for flows with an [active status](https://www.infobip.com/docs/moments/manage-flow#launch-create).\n\nUse the Add Participants to flow endpoint to a person or batches of persons (between 1-1000 persons). The method works asynchronously to queue and process participants at a rate of 10 requests per second. For reporting of operation results, use the notifyUrl field to provide a URL of your callback server that will receive a status report or use the Get a report on participants added to Flow endpoint.\n", "x-type":"module", "x-displayName":"Flow" }, { "name":"forms", "description":"[Forms](https://www.infobip.com/docs/forms) is an Infobip platform solution to collect customer data that you can then use for messaging or analytics. Forms API allows you to retrieve an active form from your web page, track events, or collect the field values when the end user submits a form.\n", "x-type":"module", "x-displayName":"Forms" }, { "name":"conversations", "description":"Conversations is a solution that allows Enterprises to engage in conversations with their customers over multiple channels. The solution is available either as a web-based cloud platform web interface or over HTTP API for 2-way messaging over SMS, WhatsApp, Viber, and Facebook messenger. It supports conversation threading, conversation management including queues and routing, agent assignment, resolution management and conversation history overview.", "x-type":"product", "x-displayName":"Conversations" }, { "name":"conversation-management", "description":"", "x-type":"section", "x-displayName":"Conversation management" }, { "name":"conversation-tags", "description":"", "x-type":"section", "x-displayName":"Conversation tags" }, { "name":"conversation-messages", "description":"", "x-type":"section", "x-displayName":"Conversation messages" }, { "name":"conversation-events", "description":"", "x-type":"section", "x-displayName":"Conversation events" }, { "name":"conversation-notes", "description":"", "x-type":"section", "x-displayName":"Conversation notes" }, { "name":"conversation-agents", "description":"", "x-type":"section", "x-displayName":"Conversation agents" }, { "name":"conversation-queues", "description":"", "x-type":"section", "x-displayName":"Conversation queues" }, { "name":"conversation-routing", "description":"", "x-type":"section", "x-displayName":"Conversation routing" }, { "name":"bots", "description":"", "x-type":"section", "x-displayName":"Bots" }, { "name":"metadata", "description":"", "x-type":"section", "x-displayName":"Metadata" }, { "name":"templates", "description":"", "x-type":"section", "x-displayName":"Templates" }, { "name":"conversation-forms", "description":"", "x-type":"section", "x-displayName":"Conversation forms" }, { "name":"account-configuration", "description":"", "x-type":"section", "x-displayName":"Account Configuration" }, { "name":"agent-configuration-calls", "description":"", "x-type":"section", "x-displayName":"Agent Configuration (Calls)" }, { "name":"outbound-call-conversation-calls", "description":"", "x-type":"section", "x-displayName":"Outbound Call Conversation (Calls)" }, { "name":"waiting-strategies-calls", "description":"", "x-type":"section", "x-displayName":"Waiting Strategies (Calls)" }, { "name":"recording-configuration-calls", "description":"", "x-type":"section", "x-displayName":"Recording Configuration (Calls)" }, { "name":"recording-metadata-calls", "description":"", "x-type":"section", "x-displayName":"Recording metadata (Calls)" }, { "name":"recording-calls", "description":"", "x-type":"section", "x-displayName":"Recording (Calls)" }, { "name":"wrap-up-configuration-calls", "description":"", "x-type":"section", "x-displayName":"Wrap Up Configuration (Calls)" }, { "name":"wrap-up-time-calls", "description":"", "x-type":"section", "x-displayName":"Wrap Up Time (Calls)" }, { "name":"transfers-calls", "description":"", "x-type":"section", "x-displayName":"Transfers (Calls)" }, { "name":"transfer-to-external-number-configuration-calls", "description":"", "x-type":"section", "x-displayName":"Transfer to External Number Configuration (Calls)" }, { "name":"transfer-strategy-calls", "description":"", "x-type":"section", "x-displayName":"Transfer Strategy (Calls)" }, { "name":"call-hold-calls", "description":"", "x-type":"section", "x-displayName":"Call Hold (Calls)" }, { "name":"hold-configuration-calls", "description":"", "x-type":"section", "x-displayName":"Hold Configuration (Calls)" }, { "name":"call-timeout-calls", "description":"", "x-type":"section", "x-displayName":"Call Timeout (Calls)" }, { "name":"working-hours", "description":"", "x-type":"section", "x-displayName":"Working Hours" }, { "name":"tts-options-calls", "description":"", "x-type":"section", "x-displayName":"TTS options (Calls)" }, { "name":"away-audio-messages", "description":"", "x-type":"section", "x-displayName":"Away Audio Messages" }, { "name":"web-forms", "description":"", "x-type":"section", "x-displayName":"Web Forms" }, { "name":"answers", "description":"Answers is the Infobip fully-encompassed chatbot building platform that enables you to build, test, and deploy highly customized chatbots of different types. Multiple channels are supported on Answers like WhatsApp, Facebook Messenger, Live Chat, Apple Business Chat, Viber, Google Business Messaging and other. Communication with Bot is achieved through existing Conversations solution infrastructure which enables integration and switching between communicating with bot and a live agent. Processing can start by receiving MO message or by receiving a trigger event. Users can manage bots (create, update, delete, start and stop bots) through a web interface. For more details, visit the [Answers documentation](https://www.infobip.com/docs/answers).\n\nAnswers API is in Early access stage.\n", "x-type":"product", "x-displayName":"Answers" }, { "name":"answers-testing-start-test", "description":"", "x-type":"section", "x-displayName":"Start Answers test" }, { "name":"answers-testing-stop-test", "description":"", "x-type":"section", "x-displayName":"Stop Answers test" }, { "name":"answers-testing-send-message", "description":"", "x-type":"section", "x-displayName":"Send inbound message to test" }, { "name":"answers-testing-receive-message", "description":"", "x-type":"section", "x-displayName":"Receive testing message" }, { "name":"common-assets", "description":"Reuse assets created on Infobip SaaS products in order to recreate configuration more easily on a single or across multiple accounts. Export or share Moments flows, Answers chatbots or other SaaS assets from your account and import it on another one. \n\nThis feature is in Early access stage.\n", "x-type":"product", "x-displayName":"Common Assets" }, { "name":"saas-resource-export", "description":"", "x-type":"section", "x-displayName":"Export resource" }, { "name":"saas-resource-import", "description":"", "x-type":"section", "x-displayName":"Import resource" }, { "name":"saas-resource-share", "description":"", "x-type":"section", "x-displayName":"Share resource" }, { "name":"saas-status-request", "description":"", "x-type":"section", "x-displayName":"Get SaaS request status" }, { "name":"customer-engagement-webhooks", "description":"", "x-type":"section", "x-displayName":"Customer Engagement Webhooks" }, { "name":"vocalize", "description":"Infobip Vocalize API allows you to integrate AI Gamification features into your application.\n\nWith Vocalize API, you can:\n\n* Create and manage Vocalize campaigns\n* Receive and process user interactions as part of Vocalize campaigns\n* Retrieve Vocalize campaign results and statistics - both for the campaign as a whole and for individual users\n\nPlease note that Vocalize API is currently in beta, and the API endpoints and functionality may change in the future.\n\n[Learn more about Vocalize use cases](https://www.infobip.com/ai-hub/vocalize)\n", "x-type":"product", "x-displayName":"Vocalize" }, { "name":"campaign", "description":"", "x-type":"section", "x-displayName":"Vocalize Campaign" }, { "name":"score", "description":"", "x-type":"section", "x-displayName":"Vocalize Score" }, { "name":"knowledge-base", "description":"Knowledge Base is a centralized content management system for creating, organizing, and retrieving articles, attachments, and structured content. Content is organized into categories, folders, and a hierarchical content tree. Articles support draft and published workflow statuses, tagging, commenting, and file attachments.", "x-type":"product", "x-displayName":"Knowledge Base" }, { "name":"knowledge-base-search", "description":"", "x-type":"section", "x-displayName":"Search" }, { "name":"knowledge-base-articles", "description":"", "x-type":"section", "x-displayName":"Articles" }, { "name":"knowledge-base-categories", "description":"", "x-type":"section", "x-displayName":"Categories" }, { "name":"knowledge-base-folders", "description":"", "x-type":"section", "x-displayName":"Folders" }, { "name":"knowledge-base-content-tree", "description":"", "x-type":"section", "x-displayName":"Content Tree" }, { "name":"knowledge-base-tags", "description":"", "x-type":"section", "x-displayName":"Tags" }, { "name":"knowledge-base-attachments", "description":"", "x-type":"section", "x-displayName":"Attachments" }, { "name":"ai-hub", "description":"AI-powered tools and services to help you create smarter and more personalized customer experiences.\n", "x-type":"category", "x-displayName":"AI Hub" }, { "name":"ai-assistants", "description":"Infobip AI assistant is a retrieval-augmented generation (RAG) solution that performs tasks based on documents and\ninstructions you specify. This means the AI draws answers directly from your documents, resulting in more accurate\nand relevant responses. For more information on use cases and how to build AI assistants, visit our\n[AI Assistant](https://www.infobip.com/docs/ai-hub/ai-assistant) product documentation.\n\nWith AI Assistants API, you can:\n* Query your existing AI assistants created via [Infobip Portal](https://www.infobip.com/docs/ai-hub/ai-assistant/create-ai-assistant)\n* Retrieve context the AI assistant uses to answer your queries\n", "x-type":"product", "x-displayName":"AI Assistants" }, { "name":"channels", "description":"Create a perfect customer experience by using the channels your customer already use and love.\n", "x-type":"category", "x-displayName":"Channels" }, { "name":"sms", "description":"SMS (Short Message Service) is the most extensive messaging service available in terms of reach and coverage. A SMS can be sent to and from any mobile device in the world and does not necessarily require a data connection.\n\nInfobip SMS API allows you to send and receive text messages (SMS), fetch or receive delivery reports on your endpoint in real time, and see message logs. You can send messages in different languages, schedule your messages, define delivery time window, and much more.\n\nTo utilize SMS in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"SMS" }, { "name":"outbound-sms", "description":"When you send an SMS to a phone number belonging to an end user's device you are sending an Outbound SMS. Historically, this was and still is referred to as a Mobile Terminated (MT) SMS, though nowadays an SMS is not always sent to a mobile device. In an Outbound SMS you can set the From or Sender field with whatever you have registered or purchased with Infobip, either a Long Number, Short Code, or text based Sender.\n", "x-type":"module", "x-displayName":"Outbound SMS" }, { "name":"send-message", "description":"", "x-type":"section", "x-displayName":"Send a message" }, { "name":"manage-scheduled-sms-messages", "description":"", "x-type":"section", "x-displayName":"Manage Scheduled SMS Messages" }, { "name":"confirm-conversion", "description":"", "x-type":"section", "x-displayName":"Confirm conversion" }, { "name":"inbound-sms", "description":"When an end user sends an SMS from their device to a Phone Number or Short Code they have sent an Inbound SMS. The Inbound SMS is routed to the Infobip Platform and Infobip in turn routes the SMS to its Customer who has purchased that Phone Number or Short Code. Inbound SMS, for historical reasons, are referred to as Mobile Originated (MO) SMS.\n", "x-type":"module", "x-displayName":"Inbound SMS" }, { "name":"logs-and-status-reports", "description":"Status Reports tell you what happened to the SMS you sent, whether it was successfully delivered or failed to be delivered.\nThey also provide timestamps, network information if available, and on SMS delivery failure, a status code indicating the reason. \nStatus Reports can be pushed in real-time to a Customer's webhook or can be retrieved by an API call. \nLogs provide similar information to Status Reports but are available to query for 48hrs.\n", "x-type":"module", "x-displayName":"Logs and Status Reports" }, { "name":"mms", "description":"Infobip MMS API allows you to send and receive MMS messages and receive delivery reports on your endpoint in real time. You can send messages up to 1600 characters in length together with multimedia content including images and videos.\n\nTo utilize MMS in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"MMS" }, { "name":"send-mms", "description":"", "x-type":"section", "x-displayName":"Send MMS" }, { "name":"receive-mms", "description":"", "x-type":"section", "x-displayName":"Receive MMS" }, { "name":"logs-and-status-reports-mms", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"voice", "description":"Infobip Voice API allows you to engage into voice communication with your customer using the Voice API features.\n\nWith Calls API, you can use our granular APIs to create any inbound or outbound voice and video scenario you require. Alternatively, you can use our high level APIs such as:\n\n* Voice Message, to send your customers Text-To-Speech or Pre-recorded message\n* Interactive Voice Response, to create and execute inbound or outbound IVR scenarios enabling interactive communication with your customers\n* Click-to-Call or Number Masking solutions, to establish live conversation between two parties and where you can also protect your customer's identity by using anonymization.\n\nHuge benefit of Voice channel is also that you can reach your customers not only on their mobile but also on their landline phones.\n\nAll Voice calls can be recorded.\n\nTo enable recording feature on Voice calls, please check each Channels Voice API.\n\nYou may fetch recorded audio files using [Recording page](https://portal.infobip.com/channels-and-numbers/channels/voice-and-webrtc/recording) section of the portal.\n\n[Learn more about Voice channel and use cases](https://www.infobip.com/products/voice)\n", "x-type":"product", "x-displayName":"Voice" }, { "name":"calls", "description":"With Calls API, you can use our granular APIs to create any inbound or outbound voice and video scenario you require.\n\nEvery inbound connection to, or outbound connection from the Infobip platform is designated as a call leg, or simply put, a call. All API methods under the [**Call Legs**](#channels/voice/calls/call-legs) section allow your application to create, answer and perform actions on individual calls.\n\nApplications can connect multiple calls together, no matter if these calls are inbound or outbound, and no matter the type of the endpoint for each of these calls. When your application needs to connect only two calls together, it is not necessary to explicitly manage conference objects and use conferencing APIs – the *connect* API method on calls will manage these conferencing objects on your behalf. When your application needs to put together 3 or more calls together, you need to use the conference methods and their related actions under the [**Conference Calls**](#channels/voice/calls/conference-calls) section.\n\nA [**Calls Configuration**](https://www.infobip.com/docs/api/channels/voice/calls/calls-configurations) is a logical entity that represents a voice or video application you are implementing and hosting in your own environment, whether on premise or at your cloud hosting services. This logical entity includes only ID and Name, and is a placeholder for linking other configurations with your application.\n\nOne mandatory link to set up is linking you Calls Configuration with Subscriptions. Calls API is event-driven platform, and you need to define webhook to receive those events, as a pre-requisite for executing your business logic. Event subscriptions are defined on [**Subscriptions API**](https://www.infobip.com/docs/api/platform/subscriptions-api). One of available parameters, when defining subscription criteria, is `callsConfigurationId`, which allows you to define webhooks for Calls Configurations you create.\n\nAnother mandatory link to Calls Configurations is actual traffic. The reference of the Calls Configuration (`callsConfigurationId`) must be specified in API calls your application will make towards Infobip to create or manipulate calls, conferences and dialogs, ensuring that corresponding events are routed to the right webhooks. All methods to create and manage Calls Configurations are under the **Configurations** section.\n", "x-type":"module", "x-displayName":"Calls" }, { "name":"calls-configurations", "description":"Creating Calls Configuration is precondition for using Calls API. You will find APIs for managing your configurations in this section.", "x-type":"submodule", "x-displayName":"Configurations" }, { "name":"calls-configuration", "description":"", "x-type":"section", "x-displayName":"Calls configuration" }, { "name":"call-legs", "description":"Every inbound connection to, or outbound connection from the Infobip platform is designated as a call leg, or simply put, a call. All API methods in this section allow your application to create, answer and perform actions on individual calls.", "x-type":"submodule", "x-displayName":"Call Legs" }, { "name":"calls-management", "description":"", "x-type":"section", "x-displayName":"Calls Management" }, { "name":"calls-operations", "description":"", "x-type":"section", "x-displayName":"Calls Operations" }, { "name":"application-transfer-management", "description":"", "x-type":"section", "x-displayName":"Application Transfer" }, { "name":"conference-calls", "description":"Applications can connect multiple calls together, no matter if these calls are inbound or outbound, and no matter the type of the endpoint for each of these calls. \n\nWhen your application needs to connect only two calls together, it is not necessary to explicitly manage conference objects and use conferencing APIs – the *connect* API method on calls will manage these conferencing objects on your behalf.\n\nWhen your application needs to put together 3 or more calls together, you need to use the conference methods and their related actions.\n", "x-type":"submodule", "x-displayName":"Conference Calls" }, { "name":"conference-management", "description":"", "x-type":"section", "x-displayName":"Conference Management" }, { "name":"conference-operations", "description":"", "x-type":"section", "x-displayName":"Conference Operations" }, { "name":"dialog-calls", "description":"A Dialog offers another way to connect two calls together without relying on the implicit or explicit creation of a conference. \n\nTwo calls connected over a Dialog cannot be joined by additional participants and the overall connection flow will result in less events than when using other methods, such as `conference` or `connect`.\n\nAnother difference between Dialog and Connect/Conference APIs is that, unlike the latter, Dialog allows for early media propagation & media bypass. \n\nWhen creating a Dialog on an unanswered inbound call, the inbound call will be automatically answered once the destination party answers the call.\n", "x-type":"submodule", "x-displayName":"Dialog Calls" }, { "name":"dialog-management", "description":"", "x-type":"section", "x-displayName":"Dialog Management" }, { "name":"dialog-operations", "description":"", "x-type":"section", "x-displayName":"Dialog Operations" }, { "name":"sip-trunks", "description":"Calls API allows your application to handle both inbound and outbound SIP calls. \n\nBefore your application can process an inbound SIP call or create an outbound one, you need to create at least one new SIP trunk with methods listed below.\n", "x-type":"submodule", "x-displayName":"SIP Trunks" }, { "name":"sip-trunk-management", "description":"", "x-type":"section", "x-displayName":"SIP Trunk Management" }, { "name":"sip-trunk-status-management", "description":"", "x-type":"section", "x-displayName":"SIP Trunk Status Management" }, { "name":"sip-trunk-service-address-management", "description":"", "x-type":"section", "x-displayName":"SIP Trunk Service Address Management" }, { "name":"files-and-recordings", "description":"Files operations allow the upload, list and delete audio files. These audio files can be played back in calls and conferences.\n\nRecordings methods allow to list, retrieve and delete audio and video recordings performed on calls and conferences.\n", "x-type":"submodule", "x-displayName":"Files And Recordings" }, { "name":"file-operations", "description":"", "x-type":"section", "x-displayName":"File Operations" }, { "name":"recording-operations", "description":"", "x-type":"section", "x-displayName":"Recording Operations" }, { "name":"media-stream", "description":"Calls API allows your application to stream outbound call media to an arbitrary host. Before initiating the stream, you will need to create at least one new media-stream configuration. After creating the configuration, use the configuration ID within a call to start/stop streaming media. Media is streamed as a series of raw bytes. Currently only audio is supported.", "x-type":"submodule", "x-displayName":"Media streaming" }, { "name":"media-stream-configuration", "description":"", "x-type":"section", "x-displayName":"Media stream configuration" }, { "name":"calls-applications", "description":"Most actions performed on calls, conferences and dialogs using the Calls API will trigger one or several events to confirm the completion of the action’s execution, to update on call status or to raise an error. Events are sent to your exposed application webhooks using Subscriptions. \n\nFor more information about Calls application and subscriptions, read the following [documentation](https://www.infobip.com/docs/voice-and-video/calls#applications-concepts). Subscriptions can be managed via [API](https://www.infobip.com/docs/api/platform/subscriptions-api) or on the [Portal](https://portal.infobip.com/dev/subscriptions). The objective of this documentation is to list and document the content of all possible Calls API events you can configure via subscriptions.\n", "x-type":"submodule", "x-displayName":"Calls Events" }, { "name":"application-webhooks", "description":"", "x-type":"section", "x-displayName":"Webhooks" }, { "name":"bulks", "description":"The bulks API methods allow you to create multiple calls with a single request and managed the scheduled bulks. Calls that will be generated with the bulk methods support the same options as when creating singular calls, such as automated machine detection, recording and support of multiple endpoint types (phone, webRTC, SIP or Viber). Bulk calls do support additional parameters such as:\n\n* scheduling: when to start the call generation, and which are calling time windows for these calls to be generated\n* validity period: how long should Infobip try to generate these calls. This is a particularly interesting parameter to consider when defining calling time windows\n* call rate: the number of calls you should start during the specified time unit (such as 15 calls per minute or 60 calls per hour)\n\nMultiple bulks, each targeting multiple destinations with their own schedule and validity, can be bundled in a single request.\n\nBulks can be paused, resumed, canceled or rescheduled. Each new call within a bulk will result in the same stream of event status update as individually created calls (call_started, call_pre_established, call_ringing,…), giving your application full visibility and control about how each individual call needs to be handled.\n", "x-type":"submodule", "x-displayName":"Bulks" }, { "name":"bulk-call-management", "description":"", "x-type":"section", "x-displayName":"Bulk Calls Management" }, { "name":"bulk-call-operations", "description":"", "x-type":"section", "x-displayName":"Bulk Calls Operations" }, { "name":"calls-markup-language", "description":"Calls Markup Language (CML) is a simple JSON-based language that enables you to define the flow of your voice application in a human readable format.", "x-type":"module", "x-displayName":"Calls Markup Language" }, { "name":"calls-markup-language-create", "description":"", "x-type":"section", "x-displayName":"Calls Markup Language" }, { "name":"markup-language-instructions", "description":"", "x-type":"section", "x-displayName":"Calls Markup Language Webhook" }, { "name":"markup-language-instructions-async", "description":"", "x-type":"section", "x-displayName":"Calls Markup Language Webhook Async" }, { "name":"calls-markup-language-configuration", "description":"", "x-type":"section", "x-displayName":"Calls Markup Language Configuration" }, { "name":"voice-message", "description":"The Voice Message API initiate outbound calls to one or more destination numbers (landline or mobile). When the call has been answered, pre-recorded or text-to-speech converted audio file will be played to the recipient. Three flavors of voice messaging are available:\n\n* Single voice message: call one target number at a time, and play an audio file or text to speech\n* Multiple voice message: same as simple, but allows to define an array of messages, each with their own multiple target numbers\n* Advanced voice message: same as multiple, but\n * Can use Automated Machine Detection\n * Can define schedule for sending calls\n * Can define acceptable time windows for sending\n * Can capture 1 DTMF input from the callee(s), and report it via webhook, or or use DTMF input to forward the call to defined destination\n", "x-type":"module", "x-displayName":"Voice Message" }, { "name":"voice-message-sending-operations", "description":"", "x-type":"section", "x-displayName":"Voice Message Sending Operations" }, { "name":"voice-message-scheduling-operations", "description":"", "x-type":"section", "x-displayName":"Voice Message Scheduling Operations" }, { "name":"interactive-voice-response", "description":"The IVR API enables the creation of inbound and outbound interactive call scenarios. For inbound calls, once your scenario is created you will need to link this scenario to the phone number you are renting on the Infobip platform using the [voice setup on number](#platform-connectivity/numbers/create-voice-setup-on-number) method.\n\nIVR scenarios can use the Record action to record a portion of the call. These recordings can be retrieved using the *Search Voice IVR Recorded Files* and *Download Voice IVR Recorded File*. Alternatively, IVR recorded audio can also be found using the [Search Recording](#channels/voice/search-recordings) method.\n", "x-type":"module", "x-displayName":"Interactive Voice Response" }, { "name":"manage-ivr-scenarios", "description":"", "x-type":"section", "x-displayName":"Manage IVR Scenarios" }, { "name":"retrieve-recorded-files", "description":"", "x-type":"section", "x-displayName":"Retrieve Recorded Files" }, { "name":"ivr-uploaded-files", "description":"", "x-type":"section", "x-displayName":"Manage uploaded files" }, { "name":"click-to-call", "description":"Click To Call", "x-type":"module", "x-displayName":"Click To Call" }, { "name":"voice-reports-and-logs", "description":"Voice Reports And Logs", "x-type":"module", "x-displayName":"Voice Reports And Logs" }, { "name":"number-masking", "description":"The Number Masking service enables two parties to engage in a conversation over the phone without exposing their phone numbers to each other. This service is ideal for businesses that share customer information with third parties. Have in mind that the Number masking mapping has to be implemented on your side in order to define to which phone number the incoming call should be forwarded to. Number masking mapping depends on your business logic.\n\nAll Number Masking calls can be recorded. To enable recording feature on Number masking calls, please check [Voice recording feature](#platform-connectivity/numbers/create-recording-configuration) documentation section. Recording on Number masking calls could be enabled using [Apps section](https://portal.infobip.com/apps/voice) of the portal.\n\nTo fetch recorded audio files please check [Voice recording audio page](#channels/voice/search-recordings). You may also fetch recorded audio files using [Recording page](https://portal.infobip.com/analyze/recordings) section of the portal.\n\n[Read more](https://www.infobip.com/docs/voice-and-video/number-masking#setup-using-api-setup)\n", "x-type":"module", "x-displayName":"Number Masking" }, { "name":"number-masking-configurations", "description":"", "x-type":"section", "x-displayName":"Number Masking Configurations" }, { "name":"number-masking-events", "description":"", "x-type":"section", "x-displayName":"Number Masking Events" }, { "name":"number-masking-credentials", "description":"", "x-type":"section", "x-displayName":"Number Masking Credentials" }, { "name":"routing", "description":"This API offers advanced calls routing features. You can use it to set up destinations of different types and routing logic between them.\n", "x-type":"module", "x-displayName":"Call Routing application" }, { "name":"call-routing-configurations", "description":"", "x-type":"section", "x-displayName":"Call Routing Configuration" }, { "name":"call-routing-recordings", "description":"", "x-type":"section", "x-displayName":"Call Routing Recordings" }, { "name":"call-routing-events", "description":"", "x-type":"section", "x-displayName":"Call Routing Events" }, { "name":"call-routing-status-management", "description":"", "x-type":"section", "x-displayName":"Call Routing Status Management" }, { "name":"call-routing-simulator", "description":"", "x-type":"section", "x-displayName":"Call Routing Simulator" }, { "name":"webrtc-calls", "description":"Infobip WebRTC provide a simplified and secure way of real-time audio and video communication over the web and inside mobile applications. It's powered by Web Real-Time Communication (WebRTC) technology, the leading real-time communication standard built into more than a billion devices. This means it's safe and easy to use both for you and for your end users. Learn more about [Infobip WebRTC](https://www.infobip.com/docs/voice-and-video/webrtc).", "x-type":"product", "x-displayName":"WebRTC" }, { "name":"webrtc", "description":"Infobip WebRTC", "x-type":"module", "x-displayName":"WebRTC" }, { "name":"webrtc-token", "description":"", "x-type":"section", "x-displayName":"WebRTC Token" }, { "name":"webrtc-push-configuration", "description":"", "x-type":"section", "x-displayName":"WebRTC Push Configuration" }, { "name":"webrtc-files", "description":"", "x-type":"section", "x-displayName":"WebRTC Files" }, { "name":"webrtc-user-activity", "description":"", "x-type":"section", "x-displayName":"WebRTC User Activity" }, { "name":"webrtc-recordings", "description":"", "x-type":"section", "x-displayName":"WebRTC Recordings" }, { "name":"call-link", "description":"Infobip Call Link API provides a simplified way of real-time audio and video communication. It allows a person to create a customizable call link and send it to a person to initiate or join a call. A person who initiates or joins a call doesn't have to create an account or use any specific platform.\n", "x-type":"module", "x-displayName":"Call Link" }, { "name":"call-links", "description":"", "x-type":"section", "x-displayName":"Call Links" }, { "name":"call-link-configs", "description":"", "x-type":"section", "x-displayName":"Configurations" }, { "name":"call-link-config-images", "description":"", "x-type":"section", "x-displayName":"Images" }, { "name":"call-link-subdomains", "description":"", "x-type":"section", "x-displayName":"Subdomains" }, { "name":"call-link-recordings", "description":"", "x-type":"section", "x-displayName":"Recordings" }, { "name":"email", "description":"Infobip Email is a cloud-based, all-in-one communication solution suited for both transactional and marketing email message delivery. It allows users to create rich, personalized, and responsive emails using API. Email messaging can be simple with ad-hoc one-way communication or more advanced with template management and scheduled sending.\n\n**Email validation**\nis an essential part of sending targeted emails is to ensure you have a clean list of engaged subscribers. Email validation acts as the first line of defense ensuring accuracy for both your new and existing email lists by providing if validated email is existing or not, aswell as providing you with additional info about mailbox: Valid syntax, Disposable mailbox, Role-based mailbox, Catch-all mailbox.\n", "x-type":"product", "x-displayName":"Email" }, { "name":"email-message-sending", "description":"", "x-type":"section", "x-displayName":"Outbound Email" }, { "name":"inbound-email", "description":"", "x-type":"section", "x-displayName":"Inbound Email" }, { "name":"scheduled-email", "description":"", "x-type":"section", "x-displayName":"Manage Scheduled Email Messages" }, { "name":"email-logs-and-reports", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"email-webhooks", "description":"", "x-type":"section", "x-displayName":"Webhooks" }, { "name":"email-validation", "description":"", "x-type":"section", "x-displayName":"Email Validation" }, { "name":"email-domains", "description":"", "x-type":"section", "x-displayName":"Email Domains" }, { "name":"email-suppression", "description":"", "x-type":"section", "x-displayName":"Email Suppression" }, { "name":"email-ip-management", "description":"", "x-type":"section", "x-displayName":"Email IP Management" }, { "name":"email-templates", "description":"", "x-type":"section", "x-displayName":"Email Templates" }, { "name":"whatsapp", "description":"With 2 billion users, WhatsApp is the most used application worldwide. It enables you to reach more customers, sharing important and timely notifications, as well as provide real-time customer support. Infobip is an official WhatsApp Business solution provider. Send and manage WhatsApp messages over Infobip's WhatsApp API.\n\nTo utilize WhatsApp in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n\n[Learn more about WhatsApp channel and use cases](https://www.infobip.com/docs/whatsapp).\n", "x-type":"product", "x-displayName":"WhatsApp" }, { "name":"whatsapp-outbound-messages", "description":"When you send a WhatsApp message to a phone number belonging to an end user's device you are sending an outbound WhatsApp message. \nThere are several types of WhatsApp messages:\n - Template message – use a pre-defined template to send text, images, videos, share location, documents, attach buttons, and configure SMS failover.\n - Free-form text or media – use it only when contacted by the end user within a certain timeframe to send text, images, audio, video, stickers, share location, or contacts.\n - Interactive messages – send a message that your end user can interact with, such as interactive buttons, lists, or product messages.\n", "x-type":"module", "x-displayName":"Outbound messages" }, { "name":"whatsapp-template-message", "description":"", "x-type":"section", "x-displayName":"Template Message" }, { "name":"whatsapp-text-and-media-messages", "description":"", "x-type":"section", "x-displayName":"Text and media messages" }, { "name":"send-whatsapp-interactive-messages", "description":"", "x-type":"section", "x-displayName":"Interactive messages" }, { "name":"whatsapp-events", "description":"", "x-type":"section", "x-displayName":"Events" }, { "name":"whatsapp-inbound-messages", "description":"When the end user sends a WhatsApp from their device to a phone number, they have sent an inbound WhatsApp message. \nThe inbound message is routed to the Infobip Platform and Infobip in turn routes the message to its customer who has registered the WhatsApp sender.\nTypical supporting features you’d use with inbound messages are:\n - Marking messages as read to communicate to the end user that you have read their message.\n - Downloading media and its metadata sent over by the end user.\n", "x-type":"module", "x-displayName":"Inbound messages" }, { "name":"whatsapp-receive-inbound-message", "description":"", "x-type":"section", "x-displayName":"Receive inbound message" }, { "name":"whatsapp-get-inbound-media", "description":"", "x-type":"section", "x-displayName":"Get inbound media" }, { "name":"whatsapp-mark-message-as-read", "description":"", "x-type":"section", "x-displayName":"Mark message as read" }, { "name":"whatsapp-message-status-reports", "description":"Status Reports tell you what happened to the WhatsApp message you sent, whether it was successfully delivered or failed to be delivered, whether it’s been seen. \nStatus Reports can be pushed in real time to a customer's webhook or can be retrieved by an API call. \nLogs provide similar information to Status Reports but are only available to query for 48hrs.\nThere are a few reports you can set up for your WhatsApp messaging:\n - Delivery Reports - In case of a failure, you’ll receive a timestamp with a delivery failure message and a status code indicating the reason behind it.\n - Seen Reports – In case the message has been delivered successfully to the end user, this report will additionally inform you whether the message has been seen.\n - Payments - It provides all updates to your payment transaction in real time. It's also possible to fetch current state of the payment transaction in any time.\n", "x-type":"module", "x-displayName":"Message Status Reports" }, { "name":"whatsapp-status-reports", "description":"", "x-type":"section", "x-displayName":"Status Reports" }, { "name":"whatsapp-payments", "description":"", "x-type":"section", "x-displayName":"Payments" }, { "name":"whatsapp-marketing-update", "description":"", "x-type":"section", "x-displayName":"Marketing Update" }, { "name":"whatsapp-service-management", "description":"As opposed to free-form messages, template messages can be sent and delivered at any time. \nHere, you can manage your templates, from template registration, retrieving template statuses, to deleting existing templates.\nWith each WhatsApp message, you can send various types of media. Here, you can manage your media and configure additional feature enhancing their functionality.\nMoreover you can fetch quality and business info of your senders.\n", "x-type":"module", "x-displayName":"Service Management" }, { "name":"whatsapp-template-management", "description":"", "x-type":"section", "x-displayName":"Template Management" }, { "name":"whatsapp-flow-management", "description":"", "x-type":"section", "x-displayName":"Flow Management" }, { "name":"whatsapp-media-management", "description":"", "x-type":"section", "x-displayName":"Media Management" }, { "name":"whatsapp-sender-management", "description":"", "x-type":"section", "x-displayName":"Sender Management" }, { "name":"whatsapp-bulk-sender-registration", "description":"", "x-type":"section", "x-displayName":"Bulk Sender Registration" }, { "name":"whatsapp-identity-management", "description":"Set up identity change, an add-on available for senders hosted by Infobip. This is supported for interactive buttons, interactive lists, or an interactive product message. \nIdentity change allows you to increase your security by preventing messages from being sent to unverified end users. \nOnce enabled for a sender, you would receive notifications when an end user's WhatsApp account (MSISDN) has potentially been transferred to a different user. \nWhen a potential identity change has been detected, the outbound traffic towards that end user is blocked until you verify the user outside the channel and acknowledge the change.\nContact your Account Executive for more information.\n", "x-type":"module", "x-displayName":"Identity Management" }, { "name":"whatsapp-ad-conversions", "description":"The Conversions API for Business Messaging enables advertisers to consolidate web, app, physical store, and business messaging events into a single endpoint for Meta. With Infobip, you can submit Purchase or LeadSubmitted conversion events for WhatsApp.\n", "x-type":"module", "x-displayName":"Ad Conversions" }, { "name":"viber", "description":"Viber offers businesses a dynamic duo of tools - Viber Business Messages and Viber Bots. \nThese solutions are designed to revolutionize customer engagement and communication strategies, \nproviding businesses with a direct and effective means of connecting with their audience.\n\nTo utilize Viber Business Messages and Viber Bots in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"Viber" }, { "name":"viber-business-messages", "description":"Viber Business Messages provide businesses with a structured channel to convey various messages, from promotions to vital updates. This versatile medium ensures direct interaction with customers at every stage of their journey, aiming to enrich their overall experience. Brands can send transactional, promotional, and conversational messages through a single platform, incorporating engaging elements such as images, videos, files, and URLs. Viber Business Messages are a robust tool for fostering interactive and enriching conversations with customers.", "x-type":"module", "x-displayName":"Business Messages" }, { "name":"outbound-message", "description":"", "x-type":"section", "x-displayName":"Outbound message" }, { "name":"inbound-message", "description":"", "x-type":"section", "x-displayName":"Inbound message" }, { "name":"message-status-reports", "description":"", "x-type":"section", "x-displayName":"Message status reports" }, { "name":"viber-template-management", "description":"", "x-type":"section", "x-displayName":"Template management" }, { "name":"viber_bot", "description":"Viber Bots solution empowers businesses to automate conversations effectively, handling customer inquiries and guiding users through interactions. They help customers to offer vital information, assist in purchases, and address concerns, ultimately delivering personalized and efficient customer service. With Viber Bots at the helm, brands can provide round-the-clock customer support, leveraging their extensive features. This makes it an ideal solution for brands looking to broaden their reach and engage both new and existing customers effectively. ", "x-type":"module", "x-displayName":"Bots" }, { "name":"send-viber-bot", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-viber-bot", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"incoming-viber-bot-message", "description":"", "x-type":"section", "x-displayName":"Receive viber bot message" }, { "name":"line", "description":"Disrupt the Southeast Asian market with LINE messaging. Send timely notifications and reminders to your customers, through pre-approved templates, so they can take prompt action and never miss out on communications.\n\nTo utilize LINE in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"LINE" }, { "name":"send-line", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"line-message-status-reports", "description":"", "x-type":"section", "x-displayName":"Message Status Reports" }, { "name":"zalo", "description":"Zalo offers businesses a dynamic tool - Zalo Notification Service.\nThis solution is designed to revolutionize customer engagement and communication strategies,\nproviding businesses with a direct and effective means of connecting with their audience.\n\nTo utilize Zalo Notification Service in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"Zalo" }, { "name":"zalo-outbound-messages", "description":"Send messages to multiple recipients. Only notification template messages registered with Zalo can be sent.\nThe API response will not contain the final delivery status, use Delivery Reports instead.\n", "x-type":"module", "x-displayName":"Outbound Messages" }, { "name":"zalo-inbound-messages", "description":"Incoming messages will be forwarded in real time to the end-point client provided during the setup.\nThis way, 2-way communication will be established, and the enterprise is enabled to create a certain logic for processing incoming messages.\n", "x-type":"module", "x-displayName":"Inbound Messages" }, { "name":"zalo-message-status-reports", "description":"Status Reports (webhooks) tell you what happened to the Zalo message you sent, whether it was successfully delivered or failed to be delivered.\nIn case of Zalo message delivery failure, you'll receive a timestamp and a status code indicating the reason behind it.\nStatus Reports can be pushed in real-time to a Customer's webhook or can be retrieved by an API call.\nLogs provide similar information to Status Reports but are available to query for 48hrs.\n", "x-type":"module", "x-displayName":"Message Status Reports" }, { "name":"zalo-service-management", "description":"Manage your Zalo templates, sender quota, and encryption keys.\n", "x-type":"module", "x-displayName":"Service Management" }, { "name":"zalo-template-management", "description":"", "x-type":"section", "x-displayName":"Template Management" }, { "name":"zalo-media-management", "description":"", "x-type":"section", "x-displayName":"Media Management" }, { "name":"zalo-sender-management", "description":"", "x-type":"section", "x-displayName":"Sender Management" }, { "name":"mobile-app-messaging", "description":"Mobile push and in-app messaging is a set of API requests to send mobile push and in-app messages, receive data about an application with a mobile SDK, and receive statistics and reports about push messages.", "x-type":"product", "x-displayName":"Mobile push and in-app messaging" }, { "name":"send-push", "description":"", "x-type":"section", "x-displayName":"Send Push" }, { "name":"push-registration", "description":"", "x-type":"section", "x-displayName":"Push registration" }, { "name":"push-applications", "description":"", "x-type":"section", "x-displayName":"Applications" }, { "name":"push-statistics-and-reports", "description":"", "x-type":"section", "x-displayName":"Statistics and reports" }, { "name":"push-configurations-and-actions", "description":"", "x-type":"section", "x-displayName":"Configurations and actions" }, { "name":"push-inbox", "description":"", "x-type":"section", "x-displayName":"Inbox" }, { "name":"rcs", "description":"Rich Communication Services (RCS) is a new, visually appealing messaging channel that offers rich functionalities to enable more engaging customer journeys. RCS is sometimes referred to as the “SMS 2.0”. It takes everything users and companies already love about SMS—100% reach, reliability, ease of use, security—and builds on this to create an even better method of communication. Through a rich feature set that allows the creation of branded messages incorporating multimedia, suggested reply buttons, barcode delivery, click-through options and more, brands now have a new way to develop relationships through 2-Way communication.\n\n To utilize RCS in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).", "x-type":"product", "x-displayName":"RCS" }, { "name":"rcs-outbound-messages", "description":"When you send an RCS message to a phone number belonging to an end user's device you are sending an outbound RCS message.\n", "x-type":"module", "x-displayName":"Outbound Messages" }, { "name":"rcs-outbound-events", "description":"When you send an RCS event to a phone number belonging to an end user's device you are sending an outbound RCS event.\n", "x-type":"module", "x-displayName":"Outbound Events" }, { "name":"rcs-inbound-messages", "description":"When the end user sends an RCS message from their device to an RCS sender, they have sent an inbound RCS message.\n", "x-type":"module", "x-displayName":"Inbound Messages" }, { "name":"rcs-inbound-events", "description":"When the end user interacts with an RCS message — such as typing an answer — these actions generate inbound events that are sent back to the RCS sender.\n", "x-type":"module", "x-displayName":"Inbound Events" }, { "name":"rcs-logs-and-status-reports", "description":"Status Reports tell you what happened to the RCS message you have sent, whether it was successfully delivered or failed to be delivered. Logs provide similar information to Status Reports but are available to query for 48hrs.\n", "x-type":"module", "x-displayName":"Logs and Status Reports" }, { "name":"rcs-capability-check", "description":"RCS Capability Check feature gives you the possibility to check if some phone number can receive RCS messages \nfrom the specified sender.\n", "x-type":"module", "x-displayName":"Capability Check" }, { "name":"rcs-service-management", "description":"RCS Service Management allows you to manage your RCS senders, RCS test numbers, and RCS message templates.\n", "x-type":"module", "x-displayName":"Service Management" }, { "name":"rcs-sender-management", "description":"", "x-type":"section", "x-displayName":"Sender Management" }, { "name":"rcs-test-number-management", "description":"", "x-type":"section", "x-displayName":"Test Number Management" }, { "name":"rcs-template-management", "description":"", "x-type":"section", "x-displayName":"Template Management" }, { "name":"omni-failover", "description":"Send messages over WhatsApp, Viber, Voice, VKontakte, Line and other channels with a failover to SMS or any other channel of your choice.", "x-type":"product", "x-displayName":"OMNI Failover" }, { "name":"configuration", "description":"", "x-type":"section", "x-displayName":"Configuration" }, { "name":"send-omni-message", "description":"", "x-type":"section", "x-displayName":"Send OMNI message" }, { "name":"receive-incoming-messages", "description":"", "x-type":"section", "x-displayName":"Receive incoming messages" }, { "name":"live-chat", "description":"Infobip Live Chat product offers real-time chat communication with customer on your website or in through your mobile app. More information about the product you can find at [Live Chat product documentation](https://www.infobip.com/docs/live-chat).", "x-type":"product", "x-displayName":"Live Chat" }, { "name":"apple-mfb", "description":"Use Apple Messages for Business to contact customers in real time.\n\nThrough the Messages app on iOS, macOS, watchOS, and iPadOS, Apple Messages for Business makes it easy for customers to communicate with businesses. Customers can use the Messages app to communicate with brands for a number of reasons, including asking inquiries, getting help, scheduling appointments, and making payments using Apple Pay.\n\nPeople can use apps, features, and services like Maps and Spotlight (iPhone search) to discover businesses and seamlessly initiate conversations with them. The familiar Messages app interface on iPhone, iPad, Mac, and Apple Watch ensures that customer interaction is intuitive and efficient, and the informality of chat produces a customer service experience that feels personal and meaningful.\n\nMore than 2 billion active Apple devices worldwide can interact with brands through Apple Messages for Business. \n\nTo utilize Apple Messages for Business in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"Apple Messages for Business" }, { "name":"sending-apple-mfb-message", "description":"Sends one or more messages to multiple recipients.\n", "x-type":"module", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-apple-mfb", "description":"Status Reports tell you what happened to the message you sent, whether it was successfully delivered or failed to be delivered. Logs provide similar information to Status Reports but are available to query for 48hrs.\n", "x-type":"module", "x-displayName":"Logs and Status Reports" }, { "name":"incoming-apple-mfb-message", "description":"Incoming messages will be forwarded in real time to the end-point client provided during the setup. This way, 2-way communication will be established, and the enterprise is enabled to create a certain logic for processing incoming messages.\n", "x-type":"module", "x-displayName":"Receive incoming message" }, { "name":"instagram", "description":"Instagram DMs are an in-app messaging feature that enables your business to be reachable by your customers over one of the most popular social media platforms.\n\nTo utilize Instagram DMs in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"Instagram Direct Messages" }, { "name":"send-instagram", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-instagram", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"incoming-instagram-message", "description":"", "x-type":"section", "x-displayName":"Receive incoming message" }, { "name":"messenger", "description":"Grow your business with conversations on Messenger.\n\nTo utilize Messenger in combination with other channels, check out [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"Messenger" }, { "name":"send-messenger", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-messenger", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"incoming-messenger-message", "description":"", "x-type":"section", "x-displayName":"Receive messenger message" }, { "name":"incoming-messenger-event", "description":"", "x-type":"section", "x-displayName":"Receive messenger event" }, { "name":"marketing-subscriptions-messenger", "description":"", "x-type":"section", "x-displayName":"Marketing subscriptions" }, { "name":"campaigns-messenger", "description":"", "x-type":"section", "x-displayName":"Manage campaigns" }, { "name":"marketing-ad-accounts-messenger", "description":"", "x-type":"section", "x-displayName":"Manage ad accounts" }, { "name":"audiences-messenger", "description":"", "x-type":"section", "x-displayName":"Manage audiences" }, { "name":"kakao", "description":"Kakao Talk holds immense value in the Korean market due to its widespread adoption, versatile features, and seamless integration into various aspects of daily life. In South Korea, Kakao Talk has become an integral part of communication. One of its key strengths lies in its dominant market position and extensive user base, encompassing millions of active users. This broad user base has fostered a network effect, making Kakao Talk the primary choice for individuals, businesses, and organizations alike. This expansive user reach offers a unique opportunity for businesses to effectively engage with their target audience, enabling direct and personalized communication. Kakao Talk provides a range of business solutions, allowing companies to harness the platform for various purposes such as sending informative messages using pre-approved templates (Alim), customer service (Sangdam), marketing, and engagement (Chingu). Businesses can engage with customers in real time, sharing updates and offering support, thus enhancing customer satisfaction and fostering loyalty.", "x-type":"product", "x-displayName":"Kakao Talk" }, { "name":"alim", "description":"Kakao Alim, also referred to as Kakao Alimtalk, is a business messaging solution that empowers businesses to send transactional or notification messages using pre-approved templates to their customers via KakaoTalk. These messages encompass various notifications like order confirmations, delivery updates, appointment reminders, and other essential transactional or informational alerts. Kakao Alim provides businesses with an efficient channel to engage with their customers directly, offering a seamless and convenient mode of communication. Widely adopted across diverse industries such as e-commerce, healthcare, finance, and more, Kakao Alim facilitates the timely delivery of relevant messages to users. By leveraging Kakao Alim, businesses can elevate their customer service, streamline operations, and ensure customers are well-informed about significant updates. This, in turn, leads to enhanced customer satisfaction and the establishment of robust relationships with their audience. ", "x-type":"module", "x-displayName":"Alim" }, { "name":"send-kakao-alim", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-kakao-alim", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"sangdam", "description":"Kakao's Sangdam Talk messaging solution, also known as Consultation Talk, facilitates seamless communication between users on Kakao Talk and a company's designated consultation representatives. Users have the convenience of initiating direct conversations with a company's Kakao Talk channel using their mobile or PC devices. The designated consultation agents can then promptly respond to user inquiries and messages. This streamlined communication process empowers businesses to efficiently address user queries and concerns, contributing to enhanced customer engagement. It's important to emphasize that Sangdam Talk focuses on effective message management and timely responses, optimizing the overall consultation experience. ", "x-type":"module", "x-displayName":"Sangdam" }, { "name":"send-kakao-sangdam", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-kakao-sangdam", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"incoming-kakao-sangdam-message", "description":"", "x-type":"section", "x-displayName":"Receive kakao sangdam message" }, { "name":"chingu", "description":"Kakao's Brand Message serves as a powerful promotional tool for businesses looking to enhance visibility and boost sales. By integrating seamlessly with KakaoTalk, businesses can harness the platform to deliver promotional content directly to customers' phones, engaging them like never before. With Friend Talk, businesses can easily inform customers about the latest deals or exclusive promo codes and coupons. It's an ideal solution for promoting new products or services, ensuring that your audience stays informed and interested. Whether it's sharing last-minute flight offers or unique promo codes for airline tickets, Friend Talk ensures that your message reaches your customers promptly and effectively. The potential use cases with KakaoTalk over API are expansive. Harness this flexibility to customize your communication strategy, tailoring messages to fit your business needs and enhancing customer relationships. With Brand Message, businesses not only drive engagement but also cultivate lasting customer loyalty by delivering timely, relevant information straight to your audience.", "x-type":"module", "x-displayName":"Brand Message" }, { "name":"send-kakao-chingu", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"logs-and-status-reports-kakao-chingu", "description":"", "x-type":"section", "x-displayName":"Logs and Status Reports" }, { "name":"kakao-brand-template-management", "description":"", "x-type":"section", "x-displayName":"Template Management" }, { "name":"open-channel", "description":"Open Channel enables your system to exchange messages with Infobip SaaS products through the Infobip public API.\n\nInbound messages are sent through the Infobip API to the Open Channel destination that is registered on the Infobip platform. The messages are sent to a SaaS product, like a chatbot. Outbound responses from a SaaS product are sent by the Infobip platform to your API webhook that is registered for a specific Open Channel sender.\n\nThis feature is in the Early Access stage. Contact your Infobip account manager to configure the Open Channel sender and the webhook for receiving the response. Currently, Open Channel is available for Answers and Conversations. In the future, Open Channel will be available for other Infobip SaaS products like Moments.\n", "x-type":"product", "x-displayName":"Open Channel" }, { "name":"receive-open-channel", "description":"", "x-type":"section", "x-displayName":"Inbound Message" }, { "name":"send-open-channel", "description":"", "x-type":"section", "x-displayName":"Outbound Message" }, { "name":"tiktok", "description":"TikTok Business Messaging enables one-to-one conversations between TikTok users and your TikTok Business Account. With Infobip, you can receive inbound messages through webhooks, reply to users using the API, send events, and track delivery and seen status.\n\n* **User-initiated only:** All conversations must be initiated by the TikTok user. You cannot send a message until the user has messaged your [Business Account](https://ads.tiktok.com/help/article/about-business-registration) first.\n* **Supported message types:** Text (up to 6,000 characters), image (JPG or PNG, max 3 MB), and share post. Outbound messages are valid for up to 48 hours. Messages not delivered within this window are not sent.\n* **Availability:** Not available for Business Accounts registered in the United States, European Economic Area (EEA), Switzerland, or the United Kingdom.\n\nBefore using this API, connect your TikTok Business Account to Infobip and [configure event subscriptions](https://www.infobip.com/docs/api/platform/subscriptions-api/subscription/create-subscription). See [Get started with TikTok](https://www.infobip.com/docs/tiktok/get-started) and [TikTok over API](https://www.infobip.com/docs/tiktok/api).\n\nTo use TikTok in combination with other channels, see [Messages API](https://www.infobip.com/docs/api/platform/messages-api).\n", "x-type":"product", "x-displayName":"TikTok" }, { "name":"tiktok-outbound-messages", "description":"", "x-type":"section", "x-displayName":"Outbound message" }, { "name":"tiktok-events", "description":"", "x-type":"section", "x-displayName":"Events" }, { "name":"logs-and-status-reports-tiktok", "description":"", "x-type":"section", "x-displayName":"Logs and status reports" }, { "name":"tiktok-inbound-messages", "description":"", "x-type":"section", "x-displayName":"Inbound message" }, { "name":"platform", "description":"Modular tools to scale and automate your business.\n", "x-type":"category", "x-displayName":"Platform" }, { "name":"2fa", "description":"Infobip's Two Factor Authentication API for OTP (One Time Passcode) delivery and verification. OTPs can be delivered over SMS, Voice or Email. [Learn more about the workflow and setup.](https://www.infobip.com/docs/2fa-service/general-2fa-otp-setup) You can use [SDKs and other available tools](https://www.infobip.com/developers/sdks) to help you with integration.\n", "x-type":"product", "x-displayName":"2FA" }, { "name":"2fa-configuration", "description":"Before using the 2FA service it is necessary to configure the properties and templates for your use case. \nConfiguration, such as the number of allowed PIN attempts and PIN time to live are configured by [creating an Application](#channels/sms/2fa/2fa-configuration/create-2fa-application). \nThe message text that will accompany the PIN and the properties, such as PIN length, are configured by creating either a [message template](#channels/sms/2fa/2fa-configuration/create-2fa-message-template), for SMS and Voice delivery, or an [Email message template](#channels/sms/2fa/2fa-configuration/create-2fa-email-message-template)\n[Learn more about how to create an Email template](https://www.infobip.com/docs/2fa-service/using-2fa-service-with-email) and link it to 2FA API.\n\nThe expected use is to create an Application and apply one or more Message Templates to that Application for a specific authentication scenario. You can create multiple Applications and Message Templates if you have many authentication scenarios, but Application and Message Template creation will be a one-off, infrequent operation.\n", "x-type":"module", "x-displayName":"2FA Configuration" }, { "name":"manage-applications", "description":"", "x-type":"section", "x-displayName":"Manage Applications" }, { "name":"manage-message-templates", "description":"", "x-type":"section", "x-displayName":"Manage Message Templates" }, { "name":"pin-sending-and-verification", "description":"When you have configured at least one [Application](#channels/sms/2fa/2fa-configuration/create-2fa-application) and [Message Template](#channels/sms/2fa/2fa-configuration/create-2fa-message-template), \nyou are ready to trigger PIN generation and its delivery by SMS, Voice or Email.\n", "x-type":"module", "x-displayName":"PIN Sending and Verification" }, { "name":"send-pin-over-sms", "description":"", "x-type":"section", "x-displayName":"Send a PIN over SMS" }, { "name":"send-pin-over-voice", "description":"", "x-type":"section", "x-displayName":"Send a PIN over Voice" }, { "name":"send-pin-over-email", "description":"", "x-type":"section", "x-displayName":"Send a PIN over Email" }, { "name":"verify-pin", "description":"", "x-type":"section", "x-displayName":"Verify a PIN" }, { "name":"account-management", "description":"Manage your Infobip account details, such as individual users and api keys.", "x-type":"product", "x-displayName":"Account management" }, { "name":"balance", "description":"", "x-type":"section", "x-displayName":"Balance" }, { "name":"accounts", "description":"", "x-type":"section", "x-displayName":"Accounts" }, { "name":"api-keys", "description":"", "x-type":"section", "x-displayName":"API keys" }, { "name":"login", "description":"", "x-type":"section", "x-displayName":"Login" }, { "name":"oauth", "description":"", "x-type":"section", "x-displayName":"OAuth" }, { "name":"audit-logs", "description":"", "x-type":"section", "x-displayName":"Audit logs" }, { "name":"application-entity", "description":"Applications and Entities are designed to be flexible and modular to give you the opportunity to define your business environment, use cases, applications, customers, assets, etc. on the Infobip platform, so you don't have to manage the complexity of a CPaaS execution.\n\nApplications and Entities share some similarities. You can apply the same types of configuration and resources to them. The difference between the two is that they represent different \\\"actors\\\" or \\\"objects\\\" in your ecosystem.\n\nYou can use them separately or together, according to your business needs. Applications and Entities can be associated to whatever Resources you own. Resources, in this context, are things you purchase or register through Infobip, such as Short Codes, VLNs, US 10-Digit-Long-Codes, Alphanumeric Senders, Email domains, and ChatApp IDs.\n\n## Concepts Explained\n\n__Applications__ - represent a concept of application, environment, or use case on your system on the Infobip Platform. For example, a Production and Test environment could be two different Applications, or a Marketing and an E-Commerce use case could be two different Applications.\n\n__Entity__ - represents an \\\"actor\\\" or an \\\"object\\\" in your system within the Infobip platform. For example, it could represent one of your customers, or a department, or a cost centre within your organization.\n\n__Resource Associated__ - When Resources have been obtained and Applications and/or Entities have been created, you can then associate a Resource to an Application and/or Entity. You can query a list of all resource associations or query on a specific resource. ResourceAssociations are only used to group resources (senders) for usage in [Smart sending strategies](https://www.infobip.com/docs/api/platform/sending-strategy).\n", "x-type":"product", "x-displayName":"Application and Entity Management" }, { "name":"application", "description":"", "x-type":"section", "x-displayName":"Application" }, { "name":"entity", "description":"", "x-type":"section", "x-displayName":"Entity" }, { "name":"resource-association", "description":"", "x-type":"section", "x-displayName":"Resource association" }, { "name":"numbers", "description":"Numbers are essential for two way communication and your branding. Buy and manage your numbers to send and receive messages and voice calls.\n", "x-type":"product", "x-displayName":"Numbers" }, { "name":"phone-numbers", "description":"", "x-type":"module", "x-displayName":"Purchase Numbers" }, { "name":"my-numbers", "description":"", "x-type":"module", "x-displayName":"My Numbers" }, { "name":"number-configuration", "description":"", "x-type":"section", "x-displayName":"Number Configuration" }, { "name":"number-mms-configuration", "description":"", "x-type":"section", "x-displayName":"Number MMS Configuration" }, { "name":"voice-configuration", "description":"", "x-type":"section", "x-displayName":"Voice Setup" }, { "name":"number-registration", "description":"Manage your number compliance for sending A2P messages in the US and US Territories.\n\nAn A2P 10-digit long code – otherwise known as 10DLC – is a phone number approved for automated business messaging to send high volumes of SMS and MMS messages. For more details, visit our [Documentation Hub](https://www.infobip.com/docs/10dlc).\n\n## Who this API is for\n\nAny US business or organization wanting to send A2P messages via 10DLC must go through a process that includes registering a brand and submitting a campaign. These processes give the mobile network operators (MNO) a way to control message traffic on their networks.\n\nUse this API to register a brand, vet it, and provide required information about a messaging campaign before you can start using a 10DLC that you [have purchased](#platform-&-connectivity/numbers).\n\n## 10DLC concepts explained\n\n* **Brand Registration** - Once a brand is created, it needs to be registered with an organization called [The Campaign Registry (TCR)](https://www.campaignregistry.com/). When you register a brand successfully, TCR assigns a Verified status and you can then start submitting campaigns tied to the brand. If TCR is unable to verify your brand and assigns a status of Unverified, you will not be able to submit any campaigns until the brand is successfully verified.\n* **Vetting** - Each major MNO has created their own mechanism for determining the throughput you receive. If you aren't satisfied with the AT&T throughput or T-Mobile threshold you receive, you can request third-party vetting. Vetting a brand may only be performed once every 30 days and it is a paid service.\n* **Campaign** - Contains information about the messages you intend to send. Every campaign must be associated with a brand.\n\n## Quick Workflow Overview\n\n1. Create a [brand](#platform-connectivity/number-registration/create-brand).\n2. [Register the brand](#platform-connectivity/number-registration/register-brand) with The Campaign Registry.\n - If the brand is successfully verified, start submitting campaigns tied to that brand.\n - If the brand hasn't been successfully verified or you want a higher throughput or threshold, [vet a brand](#platform-connectivity/number-registration/vet-brand) with the third party.\n3. Create a [campaign](#platform-connectivity/number-registration/create-campaign).\n4. [Register the campaign](#platform-connectivity/number-registration/register-campaign) with a mobile network operator.\n", "x-type":"module", "x-displayName":"USA Number Registration" }, { "name":"brands", "description":"", "x-type":"submodule", "x-displayName":"Brands" }, { "name":"brand-management", "description":"", "x-type":"section", "x-displayName":"Brand Management" }, { "name":"brand-vetting", "description":"", "x-type":"section", "x-displayName":"Brand Vetting" }, { "name":"campaigns", "description":"", "x-type":"submodule", "x-displayName":"Campaigns" }, { "name":"number-pools", "description":"", "x-type":"submodule", "x-displayName":"Number Pools" }, { "name":"documents", "description":"", "x-type":"submodule", "x-displayName":"Documents" }, { "name":"ai-assistant", "description":"", "x-type":"submodule", "x-displayName":"Compliance AI assistant" }, { "name":"subscriptions-api", "description":"Subscriptions are a way to manage notifications sent to your webhooks by Infobip.\nIt is a useful feature if you want to narrow down the list of events to be notified about or specify different webhooks for different use cases.\nIt will also allow you to set up authentication settings for your endpoint.\n\nIf you want to use mutual TLS for the webhook that receives notification events from Infobip, you can upload and manage a TLS certificate that Infobip will use when connecting to your server. The certificate allows your server to verify that the request is really coming from Infobip. For details, see [Create and Manage Certificates](https://www.infobip.com/docs/cpaas-x/subscriptions-management/create-manage-subscriptions#create-and-manage-certificates).\n", "x-type":"product", "x-displayName":"Subscriptions Management" }, { "name":"subscription", "description":"", "x-type":"section", "x-displayName":"Subscription" }, { "name":"profile", "description":"", "x-type":"section", "x-displayName":"Profile" }, { "name":"security", "description":"", "x-type":"section", "x-displayName":"Security" }, { "name":"certificate", "description":"", "x-type":"section", "x-displayName":"Certificate" }, { "name":"metrics-api", "description":"Metrics API is a way to access aggregated traffic information. By integrating this API, you can retrieve analytics related to your communications and build your own reporting facilities.", "x-type":"product", "x-displayName":"Metrics" }, { "name":"billing-usage-api", "description":"The Billing Usage API gives you programmatic access to the same billing data behind your monthly invoices. Query costs on demand, integrate results into your own systems, and build automated reporting pipelines.", "x-type":"product", "x-displayName":"Billing Usage" }, { "name":"sending-strategy", "description":"Sending Strategy represents one type of configuration for your sending resources. This configuration in its simplest form allows you to set manipulation for your senders on a country level for a specific channel (SMS/MMS) on an Entity or Application-Entity level (read more about Entity and Application [here](https://www.infobip.com/docs/cpaas-x/application-and-entity-management)). Sending Strategies have additional functionalities on top of sender manipulations, like Sticky sender (same sender used for all messaging towards the same destination) and Geolocated sender (sender picked based on the local area code of the customer receiving the message). More about Sending Strategy Management, available features, and future development can be read [here](https://www.infobip.com/docs/cpaas-x/sending-strategy-management).\n\nSending Strategy types:\n* __Application-level Sending Strategy (also called the Default Sending Strategy)__\n * A strategy that distributes sending across the pool of senders that are automatically fetched based on the definition you specified in [Resources Associations](https://www.infobip.com/docs/cpaas-x/resources#resource-association).\n* __Entity/Application-level Sending Strategy__\n * A strategy used for client-specific setup. You can define different rules, features, and limitations for each client of yours.\n* __Additional features__\n * Geolocated Sender - by turning on this feature, traffic will be sent from one of the defined senders that have the same local area code as the customer receiving the message. Customers are more likely to positively react to a message if it comes from a number from their local state. Note: Geolocated sender can be used for terminating messages in North America only.\n * Sticky Sender - by turning on this feature, when a customer receives a message from one of the defined senders then the same sender will be used for all further messages sent to that customer. Customers are more likely to positively react to a message if it comes from a consistent number connected with some brand/company. \n * Note: A geolocated sender and a Sticky sender can be used in combination.\n * Sender Type Priority - enables you to define the priority of your senders in case you have more than one sender for a destination country.\n * Coming soon:\n * Default Sender - enables you to define a sender that would be used in case a message does not pass with your Entity-specific sender/s. This can be defined per each Entity differently or can be defined as a default sender on the Application level.\n\nNote: When the \"from\" field (sender) is defined along with application and/or entity in the sending API call, it overrides the Sending Strategy configuration and sender manipulations will not apply\n", "x-type":"product", "x-displayName":"Sending Strategy Management" }, { "name":"blocklist", "description":"Phone numbers and email addresses (referred to as destinations) that no longer want to be contacted are stored inside a Blocklist (also known as [Do Not Contact List](https://www.infobip.com/docs/people/manage-audience#do-not-contact-list))\n\nThis platform feature is used to make sure that no communication is sent to recipients who have opted out of your communication campaigns.\n\nWith the Blocklist API, you are able to programmatically manage and track the list of recipients who want to stop receiving communication from your company while remaining compliant with important personal data regulations, such as GDPR.\n", "x-type":"product", "x-displayName":"Blocklist" }, { "name":"catalogs-api", "description":"Create and manage your catalogs to use with other Infobip solutions. Catalogs are similar to databases, you can store and retrieve data sets. \n\nConcepts explained\n* __Catalog__ - a set of records. Each record can be for a product or service. \n* __Item__ - a record within a catalog. An item could be a product or service. \n* __Field__ - define the data structure for the items in the catalog.\n", "x-type":"product", "x-displayName":"Catalogs" }, { "name":"catalogs", "description":"", "x-type":"section", "x-displayName":"Catalogs" }, { "name":"fields", "description":"", "x-type":"section", "x-displayName":"Catalog Fields" }, { "name":"items", "description":"", "x-type":"section", "x-displayName":"Catalog Items" }, { "name":"messages-api", "description":"The Messages API integrates multiple messaging channels into one interface. Instead of using a separate API for each messaging channel, use only one API for multiple channels and message types.\n", "x-type":"product", "x-displayName":"Messages API" }, { "name":"sending-message", "description":"Sends one or more messages to multiple recipients.\n", "x-type":"module", "x-displayName":"Outbound Message" }, { "name":"messages-api-status-reports", "description":"Status reports provide insights into the messages you send, including whether they were successfully delivered, failed, or seen by the recipient. These reports can be pushed in real time to a customer's webhook.\n\n__Delivery Reports:__ \n * Delivery reports confirm whether a message was successfully delivered or failed. If a failure occurs, the report includes a timestamp and a delivery failure message with a status code indicating the reason. You can fetch delivery reports using the [Get delivery reports](#platform/messages-api/messages-api-status-reports/get-messages-api-delivery-reports) endpoint. This endpoint supports messages sent through both Messages API and standalone APIs (such as Viber API, WhatsApp API, or SMS API), allowing you to track delivery statuses across all messaging channels.\n\n__Seen Reports:__ \n * Seen reports confirm whether a recipient has viewed a successfully delivered message. Not all channels support this feature. You can fetch seen reports using the [Receive seen reports](#platform/messages-api/messages-api-status-reports/receive-messages-api-seen-reports) endpoint.\n", "x-type":"module", "x-displayName":"Message Status Reports" }, { "name":"inbound-messages", "description":"Receive incoming messages on the defined end-point in real-time or use [Get incoming messages](#platform/messages-api/inbound-messages/get-messages-api-inbound-messages) endpoint to pull incoming messages manually.\n", "x-type":"module", "x-displayName":"Receive inbound message" }, { "name":"signals", "description":"Signals is a solution for detecting and blocking artificially generated traffic.\n\nEach mobile device has a unique identifier assigned to it. It's called a Mobile Station International Subscriber Directory Number. \n\nUse this API to create a list of trusted MSISDNs and add/remove numbers from it.\n\nNumbers added to a MSISDN list are excluded from blocking.\n", "x-type":"product", "x-displayName":"Signals" }, { "name":"resources", "description":"The __Resources API__ is a set of endpoints designed to manage and request communication resources, such as __alphanumeric senders__ and __numbers__.\nAutomate resource registration, validation, and provisioning to reduce manual workload.\n\nThe Resources API contains the following sections:\n * __Resource Management__ – Get the resources you have already, check SMS coverage for alphas and numbers, and manage inbound configuration\n * __Resource Request__ – check the necessary requirements, then submit and track requests for new resources, and receive request status updates on a webhook\n", "x-type":"product", "x-displayName":"Resources" }, { "name":"resource-management", "description":"The __Resource Management API__ streamlines the process for handling and configuring registered communication resources, such as __alphanumeric senders__ and __numbers__.\n\nWith the __Resource Management API__:\n * Set up configuration for inbound messages\n * View existing configurations\n * View SMS coverage for alphanumeric senders or numbers\n * List all the resources, including senders and usable numbers\n\nUse this API to maintain full control over your messaging resources.\n\nFor more information, see [Manage resources](https://www.infobip.com/docs/resources/manage-resources).\n", "x-type":"module", "x-displayName":"Resource Management" }, { "name":"resource-request", "description":"The __Resource Request API__ streamlines the process of requesting alphanumeric senders and numbers. This API enables seamless integration with Infobip’s registration and purchasing system.\n\nSome resources require additional data for registration, known as __data requirements__. These vary depending on the type of resource being requested and may include documentation or specific business details.\n\nThe API also provides status tracking for all submitted requests. Some feedback is provided over email with [Infobip Support](mailto:support@infobip.com).\n\nFor more information, see [Request resources](https://www.infobip.com/docs/resources/request-resources).\n", "x-type":"module", "x-displayName":"Resource Request" }, { "name":"connectivity", "description":"Powerful infrastructure and tools that connect you to the world.\n", "x-type":"category", "x-displayName":"Connectivity" }, { "name":"number-lookup", "description":"Number Lookup is a product that draws information from Home Location Register which is a database that contains important information about every mobile subscriber of a specific mobile network. You will receive information if the phone number has been ported to another network, if the user is in roaming, if the number is still valid and if it has any permanent or any other errors. Number Lookup also allows you to check the status and validity of mobile numbers, and the country/mobile network they are associated with. This can save substantial amounts to global companies with millions of users, improve delivery rates and optimize processes in real-time.", "x-type":"product", "x-displayName":"Number lookup" }, { "name":"number-activation-state", "description":"Number Activation State are reports with end user numbers that had a change in their activation status. Those would be usually numbers that become deactivated, however sometimes they would also have information about temporary suspensions or re-activations.\n\nNumber state information is provided by our suppliers. To access this information, your business and traffic must be analyzed and approved. This process ensures compliance with regulations. Please contact your Account Manager to request access.\n", "x-type":"product", "x-displayName":"Number Activation State" }, { "name":"mobile-identity", "description":"**Contact us and get started with Mobile Identity. Please [fill out the form](https://www.infobip.com/contact), and our experts will contact you shortly.** \\\n\\\nMobile Identity represents the set of services that we offer in cooperation with the mobile network operators and through them, we are bringing the vast amount of data that the mobile network operators have about their subscribers to provide better ways of authentication and protect online transactions.\n", "x-type":"product", "x-displayName":"Mobile Identity" }, { "name":"identity-verification", "description":"", "x-type":"section", "x-displayName":"Silent mobile verification" }, { "name":"identity-number-intelligence", "description":"", "x-type":"section", "x-displayName":"Number intelligence" }, { "name":"identity-sim-swap-verification", "description":"", "x-type":"section", "x-displayName":"SIM swap verification" }, { "name":"identity-national-identity-number", "description":"", "x-type":"section", "x-displayName":"National identity number" }, { "name":"biometrics", "description":"Represents a set of services used for biometric authentication and identity proofing of the end user.", "x-type":"product", "x-displayName":"Biometrics" }, { "name":"scenario", "description":"", "x-type":"section", "x-displayName":"Scenario" }, { "name":"extraction-session", "description":"", "x-type":"section", "x-displayName":"Extraction session" }, { "name":"kyc-session", "description":"", "x-type":"section", "x-displayName":"KYC session" }, { "name":"enrollment-session", "description":"", "x-type":"section", "x-displayName":"Enrollment session" }, { "name":"verification-session", "description":"", "x-type":"section", "x-displayName":"Verification session" }, { "name":"camara", "description":"**Contact us and get started with CAMARA. Please [fill out the form](https://www.infobip.com/contact), and our experts will contact you shortly.** \\\n\\\n[CAMARA](https://camaraproject.org/) represents a set of services that we offer in cooperation with the mobile network operators. With their capabilities, we are bringing the extensive subscriber data they possess to provide improved authentication methods and enhance the security of online transactions.\n", "x-type":"product", "x-displayName":"CAMARA" }, { "name":"network-based-number-verification", "description":"", "x-type":"section", "x-displayName":"Network based Number Verification" }, { "name":"sim-based-number-verification", "description":"", "x-type":"section", "x-displayName":"SIM based Number Verification" }, { "name":"device-location-verification", "description":"", "x-type":"section", "x-displayName":"Device location verification" }, { "name":"sim-swap", "description":"", "x-type":"section", "x-displayName":"SIM swap" }, { "name":"know-your-customer", "description":"", "x-type":"section", "x-displayName":"Know your customer" }, { "name":"tools", "description":"Developer utilities to help you integrate and work with Infobip APIs more efficiently.\n", "x-type":"category", "x-displayName":"Tools" }, { "name":"openapi", "description":"[OpenAPI](https://swagger.io/specification/) is an industry-standard specification for defining REST APIs. It allows you to generate client libraries, automate API testing, and streamline integration workflows.\n\n[Infobip OpenAPI specification](https://api.infobip.com/platform/1/openapi) is publicly available as a complete OpenAPI specification with all Infobip products. You can also access a product-level specification that includes only the endpoints relevant to that product. All specifications follow semantic versioning to ensure clarity, stability, and consistent integrations.\n", "x-type":"product", "x-displayName":"OpenAPI" } ], "paths":{ "/people/2/persons":{ "get":{ "tags":[ "customer-engagement", "people", "person-profile" ], "summary":"Get a single person or a list of people", "description":"Use this method with a unique person identifier to get a single person. Skip the identifier to return all people or use the `filter` parameter to return a list of people matching your specific conditions.", "operationId":"get-a-single-person-or-a-list-of-people", "parameters":[ { "name":"identifier", "in":"query", "description":"Person ID. ID type must match the `type` parameter. Some channels (e,g., Apple Business Chat) use identifiers that contain unsafe characters. Make sure you URL-encode them in your API request", "required":false, "style":"form", "explode":true, "schema":{ "type":"string" }, "example":"370329180020364" }, { "name":"sender", "in":"query", "description":"Sender or application ID. `sender` is required for all identifier types except `ID`, `EXTERNAL_ID`, `PHONE`, `EMAIL`", "required":false, "style":"form", "explode":true, "schema":{ "type":"string" }, "example":"2094832040560427" }, { "name":"type", "in":"query", "description":"Type of the person ID", "required":false, "style":"form", "explode":true, "schema":{ "allOf":[ { "$ref":"#/components/schemas/67ea2a2f468d202db25df7b2d86e54c3628a74b47c8fd9cf8429d0e9a038dd27.PersonUniqueFieldType" } ] }, "example":"PHONE" }, { "name":"limit", "in":"query", "description":"Number of persons to return per page. Default - 20. Maximum - 1000.", "required":false, "style":"form", "explode":true, "schema":{ "type":"integer", "format":"int32" }, "example":"20" }, { "name":"page", "in":"query", "description":"Page of results to return. Default - 1.", "required":false, "style":"form", "explode":true, "schema":{ "type":"integer", "format":"int32" }, "example":"1" }, { "name":"includeTotalCount", "in":"query", "description":"Returns total count of persons, if set to `true`.", "required":false, "style":"form", "explode":true, "schema":{ "type":"boolean" }, "example":"false" }, { "name":"orderBy", "in":"query", "description":"Results ordering. Possible ordering fields are `firstName`, `lastName`, `createdAt` and `modifiedAt`. Ordering direction can be specified with modifiers `asc` for the ascending ordering or `desc` for the descending one.", "required":false, "style":"form", "explode":true, "schema":{ "type":"string" }, "example":"modifiedAt:desc" }, { "name":"filter", "in":"query", "description":"Allows to filter persons using simple queries. Just pass to the parameter [URL encoded](https://www.w3schools.com/tags/ref_urlencode.asp) query.\n##### List of supported logical operators:\n\n
| Logical Operator | Description | \n\n
|---|---|
#and | Joins query clauses with a logical AND returns all records that match the conditions of both clauses. | \n
#or | Joins query clauses with a logical OR returns all records that match the conditions of either clause. | \n
| Comparison Operator | Supported Type | Description | \n\n
|---|---|---|
#eq | string, integer, decimal, date | Matches values that are equal to a specified value. | \n
#ne | string, integer, decimal, date | Matches all values that are not equal to a specified value. | \n
#contains | string | Matches the records that contain the specified value. | \n
#notContain | string | Matches the records that does not contain the specified value. | \n
#startsWith | string | Matches the records that start with a specified value. | \n
#endsWith | string | Matches the records that end with a specified value. | \n
#gt | integer, decimal, date | Matches values that are greater than a specified value. | \n
#lt | integer, decimal, date | Matches values that are less than a specified value. | \n
#gte | integer, decimal, date | Matches values that are greater than or equal to a specified value. | \n
#lte | integer, decimal, date | Matches values that are less than or equal to a specified value. | \n
| Logical Operator | Description | \n\n
|---|---|
#and | Joins query clauses with a logical AND returns all records that match the conditions of both clauses. | \n
#or | Joins query clauses with a logical OR returns all records that match the conditions of either clause. | \n
| Comparison Operator | Supported Type | Description | \n\n
|---|---|---|
#eq | string, integer, decimal, date | Matches values that are equal to a specified value. | \n
#ne | string, integer, decimal, date | Matches all values that are not equal to a specified value. | \n
#contains | string | Matches the records that contain a specified value. | \n
#startsWith | string | Matches the records that start with a specified value. | \n
#endsWith | string | Matches the records that end with a specified value. | \n
#gt | integer, decimal, date | Matches values that are greater than a specified value. | \n
#lt | integer, decimal, date | Matches values that are less than a specified value. | \n
#gte | integer, decimal, date | Matches values that are greater than or equal to a specified value. | \n
#lte | integer, decimal, date | Matches values that are less than or equal to a specified value. | \n
identifyBy, externalId and contactInformation) are unique.",
"operationId":"add-flow-participants",
"parameters":[
{
"name":"campaignId",
"in":"path",
"description":"Unique identifier of the flow that participant will be added to.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"integer",
"format":"int64"
},
"example":200000000000001
}
],
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.AddFlowParticipantsRequest"
},
"examples":{
"Add participants to Flow":{
"summary":"Add participants to Flow",
"description":"Add participants to Flow",
"value":{
"participants":[
{
"identifyBy":{
"identifier":"370329180020364",
"type":"FACEBOOK"
}
},
{
"identifyBy":{
"identifier":"test@infobip.com",
"type":"EMAIL"
},
"variables":{
"orderNumber":1167873391
}
},
{
"identifyBy":{
"identifier":"test2@infobip.com",
"type":"EMAIL"
},
"variables":{
"orderNumber":1595299041
},
"person":{
"externalId":"optional_external_person_id",
"customAttributes":{
"Contract Expiry":"2023-04-01",
"Company":"Infobip"
},
"contactInformation":{
"email":[
{
"address":"test@infobip.com"
}
]
}
}
}
],
"notifyUrl":"https://mydomain/callback",
"callbackData":"Callback Data"
}
}
}
}
},
"required":true
},
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.AddFlowParticipantsResponse"
},
"examples":{
"Response example":{
"summary":"Response example",
"value":{
"operationId":"03f2d474-0508-46bf-9f3d-d8e2c28adaea"
}
}
}
}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.BadRequestResponse"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"description":"Bad request",
"value":{
"type":"about:blank",
"title":"Bad Request",
"status":400,
"detail":"Failed to read request",
"instance":"/moments/1/flows/200000000000001/participants"
}
},
"Invalid number of participants":{
"summary":"Invalid number of participants",
"description":"Invalid number of participants",
"value":{
"errorCode":"400",
"errorMessage":"Number of participants must be between 1 and 1000. Received: 1200"
}
},
"Mandatory fields absent":{
"summary":"Mandatory fields absent",
"description":"Mandatory fields absent",
"value":{
"errorCode":"400",
"errorMessage":"Mandatory fields are absent: [participants]"
}
},
"Validation errors":{
"summary":"Validation errors",
"description":"Validation errors",
"value":{
"errorCode":"400",
"errorMessage":"Field participants.[0].identifyBy.type must not be null or unsupported value"
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.ExceptionResponse"
},
"examples":{
"Response example":{
"summary":"Response example",
"value":{
"errorCode":"40401",
"errorMessage":"Could not find active flow for campaign 200000000000001"
}
}
}
}
}
},
"429":{
"description":"Too Many Requests",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/8a96177a069f927b552e6f478d6833812472502f930c109564e4f89f3264faaa.ApiException"
},
"examples":{
"Response example":{
"summary":"Response example",
"value":{
"requestError":{
"serviceException":{
"messageId":"TOO_MANY_REQUESTS",
"text":"Too many requests"
}
}
}
}
}
}
}
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"flow:use",
"flow:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":10,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/moments/1/flows/{campaignId}/participants/report":{
"get":{
"tags":[
"customer-engagement",
"moments",
"flow"
],
"summary":"Get a report on participants added to flow",
"description":"Use this API endpoint to fetch a report to confirm that all persons have been successfully added to the flow.\n Please note that report is stored for 30 days.",
"operationId":"get-flow-participants-added-report",
"parameters":[
{
"name":"campaignId",
"in":"path",
"description":"Unique identifier of the flow that participant will be added to.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"integer",
"format":"int64"
},
"example":200000000000001
},
{
"name":"operationId",
"in":"query",
"description":"Unique identifier of the operation.",
"required":true,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":"03f2d474-0508-46bf-9f3d-d8e2c28adaea"
},
{
"name":"applicationId",
"in":"query",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
}
},
{
"name":"entityId",
"in":"query",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
}
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.FlowParticipantsReportResponse"
},
"examples":{
"Response example":{
"summary":"Response example",
"value":{
"operationId":"03f2d474-0508-46bf-9f3d-d8e2c28adaea",
"campaignId":200000000000001,
"callbackData":"Callback Data",
"participants":[
{
"identifyBy":{
"identifier":"test@infobip.com",
"type":"EMAIL"
},
"status":"ACCEPTED"
},
{
"identifyBy":{
"identifier":"test2@infobip.com",
"type":"EMAIL"
},
"status":"REJECTED",
"errorReason":"REJECTED_INVALID_CONTACT"
}
]
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"flow:use",
"flow:read",
"flow:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":10,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/communication/1/flows/{campaignId}/participants":{
"post":{
"tags":[
"customer-engagement",
"moments",
"flow"
],
"summary":"Add Person to Flow",
"description":"Creates or updates a person and adds it to Flow",
"operationId":"add-people-to-flow",
"parameters":[
{
"name":"campaignId",
"in":"path",
"description":"Unique identifier of the flow that person will be added to",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"integer",
"format":"int64"
},
"example":10159347
},
{
"name":"phone",
"in":"query",
"description":"Person's phone number",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":19123456789
},
{
"name":"email",
"in":"query",
"description":"Person's email address",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":"janewilliams@example.com"
},
{
"name":"externalId",
"in":"query",
"description":"Unique ID for the person from an external system",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":"8edb24b5-0319-48cd-a1d9-1e8bc5d577ab"
}
],
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.FlowPersonRequest"
}
}
}
},
"responses":{
"200":{
"description":"OK"
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.ExceptionResponse"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.ExceptionResponse"
}
}
}
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"deprecated":true,
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"flow:use",
"flow:manage"
],
"x-deprecationInformation":{
"deprecation":"2023-10-25T00:00:00.777+0000",
"sunset":"2024-10-25T12:00:00.777+0000",
"successorOperationId":"add-flow-participants"
},
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":10,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"delete":{
"tags":[
"customer-engagement",
"moments",
"flow"
],
"summary":"Remove person from flow",
"description":"Removes a participant with given identifier from the flow.",
"operationId":"remove-people-from-flow",
"parameters":[
{
"name":"campaignId",
"in":"path",
"description":"Unique identifier of the flow that person will be removed from.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"integer",
"format":"int64"
},
"example":10159347
},
{
"name":"phone",
"in":"query",
"description":"Person's phone number.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":19123456789
},
{
"name":"email",
"in":"query",
"description":"Person's email address.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":"janewilliams@example.com"
},
{
"name":"externalId",
"in":"query",
"description":"Unique ID for the person from an external system.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string"
},
"example":"8edb24b5-0319-48cd-a1d9-1e8bc5d577ab"
}
],
"responses":{
"200":{
"description":"OK"
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.ExceptionResponse"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/900634339512041dd9c6cd5c4ad62d6cf43ea57e0548f5deeceb9f79d92b92f0.ExceptionResponse"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"flow:use",
"flow:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":10,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/forms/1/forms":{
"get":{
"tags":[
"customer-engagement",
"moments",
"forms"
],
"summary":"Get forms",
"description":"Use this method to get a list of forms.",
"operationId":"get-forms",
"parameters":[
{
"name":"offset",
"in":"query",
"description":"Skip first {offset} forms of the list.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":0
},
"example":60
},
{
"name":"limit",
"in":"query",
"description":"The maximum number of returned forms. Maximum value is `100`.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":25
},
"example":30
},
{
"name":"formType",
"in":"query",
"description":"The type of returned forms.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"enum":[
"OPT_IN",
"OPT_OUT",
"FACEBOOK",
"LIVECHAT",
"APPLE"
]
},
"example":"APPLE"
},
{
"name":"formStatus",
"in":"query",
"description":"The status of returned forms.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"$ref":"#/components/schemas/082acced121042a63992bde26d4dd141353f7b2633c33f797139d71d4bef2a93.FormStatus"
},
"example":"ACTIVE"
}
],
"responses":{
"200":{
"description":"Successful Response",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/082acced121042a63992bde26d4dd141353f7b2633c33f797139d71d4bef2a93.ApiFormListDto"
},
"examples":{
"Response example":{
"summary":"Response example",
"value":{
"forms":[
{
"id":"f23f0f7c-9898-4feb-8f21-5afe2c29db7e",
"name":"Test form",
"elements":[
{
"component":"TEXT",
"fieldId":"first_name",
"personField":"firstName",
"label":"First Name",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":255,
"sample":"James",
"forbiddenSymbols":[
"^",
"&",
"<",
">",
"\"",
"/",
"\\",
"\n",
"\r",
":",
"(",
")",
"{",
"}",
"=",
";",
"#",
"|",
"+",
"%",
"*",
"?",
"[",
"]"
]
},
"placeholder":"First Name"
},
{
"component":"TEXT",
"fieldId":"last_name",
"personField":"lastName",
"label":"Last Name",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":255,
"sample":"James",
"forbiddenSymbols":[
"^",
"&",
"<",
">",
"\"",
"/",
"\\",
"\n",
"\r",
":",
"(",
")",
"{",
"}",
"=",
";",
"#",
"|",
"+",
"%",
"*",
"?",
"[",
"]"
]
},
"placeholder":"Last Name"
},
{
"component":"TEXT",
"fieldId":"company",
"personField":"267ce64a-1a26-4326-9036-6384696f39c8",
"label":"Company",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"sample":"Lorem ipsum"
},
"placeholder":"Company"
},
{
"component":"TEXT",
"fieldId":"country",
"personField":"country",
"label":"Country",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"sample":"Lorem ipsum"
},
"placeholder":"Country"
},
{
"component":"EMAIL",
"fieldId":"email",
"personField":"email",
"label":"Email Address",
"isRequired":true,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"pattern":"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])",
"sample":"email@example.com"
},
"placeholder":"Email"
},
{
"component":"TEXTAREA",
"fieldId":"business_needs",
"label":"Business Needs",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":3000,
"sample":"Lorem ipsum ..."
},
"placeholder":""
},
{
"component":"TEXT",
"fieldId":"offer_id",
"label":"OfferId",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"sample":"Lorem ipsum"
},
"placeholder":"OfferId"
},
{
"component":"TEXT",
"fieldId":"plan_id",
"label":"PlanId",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"sample":"Lorem ipsum"
},
"placeholder":"PlanId"
},
{
"component":"TEXT",
"fieldId":"subscription_id",
"label":"SubscriptionId",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"sample":"Lorem ipsum"
},
"placeholder":"SubscriptionId"
},
{
"component":"TEXT",
"fieldId":"Tenant_id",
"label":"TenantId",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"sample":"Lorem ipsum"
},
"placeholder":"TenantId"
},
{
"component":"SUBMIT_BUTTON",
"label":"Submit"
}
],
"createdAt":"2022-07-11T06:38:12.757+0000",
"updatedAt":"2022-07-11T06:45:12.826+0000",
"resubmitEnabled":true,
"formType":"OPT_IN",
"formStatus":"ACTIVE"
},
{
"id":"7370b24c-9788-4a52-a6a4-047cecbe2df2",
"name":"test",
"elements":[
{
"component":"EMAIL",
"fieldId":"email",
"personField":"email",
"label":"Email",
"isRequired":false,
"isHidden":false,
"additionalConfiguration":{},
"validationRules":{
"maxLength":1000,
"pattern":"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])",
"sample":"email@example.com"
},
"placeholder":"Email"
},
{
"component":"SUBMIT_BUTTON",
"label":"Submit"
}
],
"createdAt":"2022-06-15T13:21:38.195+0000",
"updatedAt":"2022-06-15T13:21:46.286+0000",
"resubmitEnabled":true,
"formType":"OPT_IN",
"formStatus":"ACTIVE"
}
],
"offset":0,
"limit":25,
"total":2
}
}
}
},
"application/xml":{
"schema":{
"$ref":"#/components/schemas/082acced121042a63992bde26d4dd141353f7b2633c33f797139d71d4bef2a93.ApiFormListDto"
},
"examples":{
"Response example":{
"summary":"Response example",
"value":"Rich HTML message body.
\nRich HTML message body.
\nRich HTML message body.
\"' \\\n--form 'attachment=@\"/home/user/image.png\"' \\\n--form 'bulkId=\"customBulkId\"' \\\n--form 'intermediateReport=\"true\"' \\\n--form-string 'defaultPlaceholders={\"ph1\": \"Success\", \"ph2\": \"Example\"}' \\\n--form-string 'headers={\"List-Unsubscribe\": \"your unsubscribe link\", \"X-Custom-Header\": \"Header value\"}' \\\n--form 'notifyUrl=\"https://www.example.com/email/advanced\"' \\\n--form 'notifyContentType=\"application/json\"' \\\n--form 'trackClicks=\"true\"' \\\n--form 'trackOpens=\"false\"' \\\n--form 'trackingPixelPosition=\"TOP\"' \\\n--form 'callbackData=\"DLR callback data\"'\n--form 'ipPoolId=\"08A3A7608750CC6E6080325A6ADF45B6\"'\n" }, "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":"\ncurl --request POST 'https://{base_url}/email/3/send' \\\n--header 'Authorization: Basic {username:password}' \\\n--form 'from=\"Jane SmithRich HTML message body.
\"' \\\n--form 'attachment=@\"/home/user/image.png\"' \\\n--form 'bulkId=\"customBulkId\"' \\\n--form 'intermediateReport=\"true\"' \\\n--form-string 'defaultPlaceholders={\"ph1\": \"Success\", \"ph2\": \"Example\"}' \\\n--form-string 'headers={\"List-Unsubscribe\": \"your unsubscribe link\", \"X-Custom-Header\": \"Header value\"}' \\\n--form 'notifyUrl=\"https://www.example.com/email/advanced\"' \\\n--form 'notifyContentType=\"application/json\"' \\\n--form 'trackClicks=\"true\"' \\\n--form 'trackOpens=\"false\"' \\\n--form 'trackingPixelPosition=\"TOP\"' \\\n--form 'callbackData=\"DLR callback data\"'\n--form 'ipPoolId=\"08A3A7608750CC6E6080325A6ADF45B6\"'\n" }, "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 LinkedMultiValueMapRich 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 SmithRich 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 SmithRich 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', 'Rich HTML message body.
\");\nrequest.AddParameter(\"attachment\", \"@files/image1.jpg\");\nrequest.AddParameter(\"bulkId\", \"customBulkId\");\nrequest.AddParameter(\"intermediateReport\", \"true\");\nrequest.AddParameter(\"defaultPlaceholders\", \"{\"ph1\": \"Success\", \"ph2\": \"Example\"}\")\nrequest.AddParameter(\"headers\", \"{\"List-Unsubscribe\": \"your unsubscribe link\", \"X-Custom-Header\": \"Header value\"}\")\nrequest.AddParameter(\"notifyUrl\", \"https://www.example.com/email/advanced\");\nrequest.AddParameter(\"notifyContentType\", \"application/json\");\nrequest.AddParameter(\"trackClicks\", \"true\");\nrequest.AddParameter(\"trackOpens\", \"false\");\nrequest.AddParameter(\"trackingPixelPosition\", \"TOP\");\nrequest.AddParameter(\"callbackData\", \"DLR callback data\");\nrequest.AddParameter(\"ipPoolId\", \"08A3A7608750CC6E6080325A6ADF45B6\");\nIRestResponse response = client.Execute(request);\nConsole.WriteLine(response.Content);\n" }, "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 SmithRich 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 SmithRich 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\n- [Send email via SMTP API](https://www.infobip.com/docs/email/smtp-specification)\n- [Setup sender domain](https://www.infobip.com/docs/email/get-started#manage-domain-settings-register-a-new-domain)\n- [Tracking Notifications](https://www.infobip.com/docs/email/send-email-over-api#tracking-notifications)\n" }, "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", "email", "email-message-sending" ], "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\n- [Send email via SMTP API](https://www.infobip.com/docs/email/smtp-specification)\n- [Setup sender domain](https://www.infobip.com/docs/email/get-started#manage-domain-settings-register-a-new-domain)\n- [Tracking Notifications](https://www.infobip.com/docs/email/send-email-over-api#tracking-notifications)\n" }, "x-throttling-info":[ { "type":"time", "numberOfRequests":4000, "numberOfTimeUnits":0, "timeUnit":"s" } ] } }, "/email/1/bulks":{ "get":{ "tags":[ "channels", "email", "scheduled-email" ], "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", "email", "scheduled-email" ], "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", "email", "scheduled-email" ], "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", "email", "scheduled-email" ], "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", "email", "email-logs-and-reports" ], "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", "email", "email-logs-and-reports" ], "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", "email", "email-logs-and-reports" ], "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", "email", "email-logs-and-reports" ], "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", "email", "email-validation" ], "summary":"Validate email address", "description":"This method lets you request validation of a single email address in real-time,\nhelping you to identify and remove poor-quality emails from your list.\n", "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":"