{
  "opencollection": "1.0.0",
  "info": {
    "name": "Infobip OpenAPI Specification",
    "version": "3.210.0"
  },
  "items": [
    {
      "info": {
        "name": "platform",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Send a Messages API message",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/messages-api/1/messages",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "Send messages at scale through multiple channels, utilizing various message types."
        },
        {
          "info": {
            "name": "Validate a Messages API message",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/messages-api/1/messages/validate",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "Perform a detailed validation of Messages API messages. This endpoint executes more specific checks than the `/messages` endpoint such as: possible channel-specific validations, verification of each failover step and unknown fields. Returns `200 OK` when the request would be accepted by the platform or `400 BAD_REQUEST` when it may fail at any point. Use this endpoint to validate messages before sending them to catch potential issues early."
        },
        {
          "info": {
            "name": "Send a Messages API event",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/messages-api/1/events",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "Send one or more events to multiple recipients.\n\nAn event is an interaction with end-user's device which does not impact messaging content of conversation.\n\nExamples of events are: TYPING_STARTED, TYPING_STOPPED."
        },
        {
          "info": {
            "name": "Get delivery reports",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/messages-api/1/reports",
            "params": [
              {
                "name": "channel",
                "value": "",
                "type": "query",
                "description": "Messaging channel for which the report will be fetched."
              },
              {
                "name": "bulkId",
                "value": "",
                "type": "query",
                "description": "The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination address."
              },
              {
                "name": "messageId",
                "value": "",
                "type": "query",
                "description": "The ID that uniquely identifies the message sent."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "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"
              },
              {
                "name": "entityId",
                "value": "promotional-traffic-entity",
                "type": "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)."
              },
              {
                "name": "applicationId",
                "value": "marketing-automation-application",
                "type": "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)."
              },
              {
                "name": "campaignReferenceId",
                "value": "summersale",
                "type": "query",
                "description": "ID of a campaign that was sent in the message."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "If you are unable to receive real-time delivery reports towards your endpoint for various reasons, we offer you an API method to fetch batches of delivery reports to confirm whether specific messages have been delivered. Each request towards this endpoint will return batches of the latest delivery reports. This endpoint retrieves delivery reports for messages sent through Messages API as well as messages sent using channel-specific standalone APIs (for example, Viber, API, WhatsApp API, or SMS A"
        },
        {
          "info": {
            "name": "Get inbound messages",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/messages-api/1/inbound",
            "params": [
              {
                "name": "channel",
                "value": "",
                "type": "query",
                "description": "Messaging channel for which inbound messages will be fetched."
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query",
                "description": "Maximum number of messages to be returned in a response. If not set, last 50 records are returned. Maximum limit is `1000` and you can only access messages for the last 48h."
              },
              {
                "name": "applicationId",
                "value": "marketing-automation-application",
                "type": "query",
                "description": "Application ID that the message is linked to. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management)."
              },
              {
                "name": "entityId",
                "value": "promotional-traffic-entity",
                "type": "query",
                "description": "Entity ID that the message is linked to. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management)."
              },
              {
                "name": "campaignReferenceId",
                "value": "mycampaign",
                "type": "query",
                "description": "ID of a campaign that message belongs to."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "If you are unable to receive incoming messages to the endpoint of your choice in real-time, you can use this API call to fetch messages. Each request will return a batch of received messages, only once. The API request will only return new messages that arrived since the last API request."
        }
      ]
    }
  ],
  "bundled": true
}