---
title: "Validate a Messages API message"
method: POST
path: "/messages-api/1/messages/validate"
tags: ["platform", "messages-api", "sending-message"]
---

# Validate a Messages API message

`POST /messages-api/1/messages/validate`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/messages-api/1/messages/validate`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

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.

## Request body

- 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiRequest
  - `messages` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiBaseMessage[], required: Array of message objects of a single message or multiple messages sent under one bulk ID.
    - union: Array of message objects of a single message or multiple messages sent under one bulk ID.
      - object: Represents a single message.
        - `channel` 'APPLE_MB' | 'INSTAGRAM_DM' | 'LINE_ON' | 'MESSENGER' | 'MMS' | 'RCS' | 'SMS' | 'VIBER_BM' | 'VIBER_BOT' | 'WHATSAPP', required: Messaging channel used for sending a message.
        - `sender` string: The sender ID. It can be alphanumeric or numeric (e.g., `CompanyName`). Make sure you don't exceed [character limit](https://www.infobip.com/docs/sms/get-started#sender-names).
        - `destinations` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessageDestination[], required: Array of destination objects for where messages are being sent. A valid destination is required. **`Channels Destination` is required when sending messages with defined failover.**
          - union: Array of destination objects for where messages are being sent. A valid destination is required. **`Channels Destination` is required when sending messages with defined failover.**
            - object: Represents a destination which can be specified by a `channel`. **It is required for a message failover**.
              - …
            - object: Represents a simple destination.
              - …
        - `content` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageContent, required: Content of the message.
          - `header` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageHeader: Header of the message.
            - `type` 'TEXT', required
          - `body` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageBody, required: Body of the message.
            - `type` 'TEXT' | 'IMAGE' | 'VIDEO' | 'DOCUMENT' | 'RICH_LINK' | 'AUTHENTICATION_REQUEST' | 'LIST' | 'CAROUSEL' | 'LOCATION' | 'CONTACT' | 'STICKER' | 'PRODUCT' | 'MIXED' | 'FLOW' | 'TIME_PICKER' | 'ORDER_REQUEST' | 'ORDER_STATUS' | 'FORM', required
          - `buttons` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageButton[]: List of buttons of the message.
            - `type` 'REPLY' | 'OPEN_URL' | 'DIAL_PHONE' | 'SHOW_LOCATION' | 'REQUEST_LOCATION' | 'ADD_CALENDAR_EVENT', required
          - `confirmationBody` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageConfirmationBody: Body of the confirmation message.
            - `text` string, required: Text to be sent.
            - `description` string: Description to be sent.
            - `imageUrl` string: URL of the image.
          - `senderDisplayInfo` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageSenderDisplayInfo: Sender display info (name and avatar). Used only for Viber Bot messages.
            - `name` string: The sender's name to display.
            - `avatarUrl` string: The sender's avatar URL.
          - `footer` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageFooter: Footer of the message.
            - `text` string, required: Text of the footer.
        - `options` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageOptions: Message options.
          - `platform` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fPlatform: Platform options. For more details, see [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
            - `entityId` string: Used when specifying an entity in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
            - `applicationId` string: Used when specifying an application in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
          - `validityPeriod` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fValidityPeriod: Message validity period. Once expired, the message won't be sent. Validity period longer than 48h is not supported. If exceeded, it will be automatically set to 48h. Minimal value is 10 seconds.
            - `amount` integer, required: Message validity period's value. If `timeUnit` is not set, it will default to `MINUTES`.
            - `timeUnit` 'SECONDS' | 'MINUTES' | 'HOURS': Message validity period time unit.
          - `deliveryTimeWindow` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryTimeWindow: Sets specific message delivery window outside of which messages won't be delivered. Often, used when there are restrictions on when messages can be sent. The exact time of the day to start sending messages can be defined using the `from` property. The exact time of the day to end sending messages can be defined using the `to` property. Properties `from` and `to` should be both provided with the minimum 1 hour difference or omitted.
            - `days` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryDay[], required: Days of the week which are included in the delivery time window. At least one day must be provided. Separate multiple days with a comma.
            - `from` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryTime: The exact time of the day. The time is expressed in the UTC time zone.
              - …
            - `to` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryTime: The exact time of the day. The time is expressed in the UTC time zone.
              - …
          - `adaptationMode` boolean: If channel does not fully support message to be sent, we will try to map it as best effort. This is default behavior, even if this option is not specified.
          - `regional` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fRegionalOptions: Region-specific parameters, often imposed by local laws. Use this, if country or region that you are sending an SMS to requires additional information.
            - `indiaDlt` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fIndiaDltOptions: Distributed Ledger Technology (DLT) specific parameters required for sending SMS to phone numbers registered in India.
              - …
            - `turkeyIys` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fTurkeyIysOptions: IYS regulations specific parameters required for sending promotional SMS to phone numbers registered in Turkey.
              - …
            - `southKorea` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fSouthKoreaOptions: Use case dependent parameters for sending SMS to phone numbers registered in South Korea.
              - …
          - `campaignReferenceId` string: ID that allows you to track, analyze, and show an aggregated overview and the performance of individual campaigns per sending channel.
          - `transliteration` 'NONE' | 'TURKISH' | 'GREEK' | 'CYRILLIC' | 'SERBIAN_CYRILLIC' | 'CENTRAL_EUROPEAN' | 'BALTIC' | 'NON_UNICODE' | 'PORTUGUESE' | 'COLOMBIAN' | 'BULGARIAN_CYRILLIC' | 'ALL': The transliteration of your sent message from one script to another. Transliteration is used to replace characters which are not recognized as part of your defaulted alphabet. Possible values: `TURKISH`, `GREEK`, `CYRILLIC`, `SERBIAN_CYRILLIC`, `BULGARIAN_CYRILLIC`, `CENTRAL_EUROPEAN`, `BALTIC`, `PORTUGUESE`, `COLOMBIAN`, and `NON_UNICODE`. Supported by SMS.
          - `correlationData` string: Correlation data included in the outbound message. If provided, it will be returned in the inbound message. Auto-generated if not set explicitly.
          - `trafficType` 'PROMOTIONAL' | 'TRANSACTIONAL': Traffic type classification for message sending. Supported by Viber for non-template messages only.
          - `sessionRate` boolean: Defines if the message should be charged using session rate. Supported by Viber for content with text/image/document only (without buttons, extra text etc.) body type. For text/image only body types `sessionRate` won't be applied if parameter `primaryDevice` is set to true.
          - `primaryDevice` boolean: Defines if the message should be sent only to the end user's primary device (phone or tablet). Supported by Viber for message with content with text/image/document only (without buttons, extra text etc.) body type or template message.
        - `webhooks` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiWebhooks: Provides options for configuring message webhooks.
          - `delivery` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiDelivery: Provides options for configuring the delivery report behavior.
            - `url` string: The URL on your call back server where a delivery report will be sent. If your URL becomes unavailable then the [retry cycle](https://www.infobip.com/docs/sms/api#notify-url) uses the following formula: `1min + (1min * retryNumber * retryNumber)`.
            - `intermediateReport` boolean: The real-time intermediate delivery report containing GSM error codes, messages status, pricing, network and country codes, etc., which will be sent on your callback server. The default setting is `false`.
            - `receiveTriggeredFailoverReports` boolean: Allows you to receive delivery reports for all triggered failover steps, not just the final one (either the first successful or the last failed step). The default setting is `false`.
          - `contentType` string: Preferred delivery report content type, `application/json` or `application/xml`.
          - `callbackData` string: Additional data that can be used for identifying, managing, or monitoring a message. Data included here will also be automatically included in the message Delivery Report and Seen Report. The maximum value is 4000 characters.
          - `seen` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fSeenStatusReporting: Provides options for configuring the seen report behavior.
            - `url` string: The URL on your call back server where a seen report will be sent.
        - `failover` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiBaseFailover[]: Provides options for configuring a message failover. When message fails it will be sent over channels in order specified in an array. It has to contain unique entries per channel and it cannot contain entry with the same channel as original message. **Make sure to provide correct sender and destinations specified as `Channels Destination` for each channel**.
          - union: Provides options for configuring a message failover. When message fails it will be sent over channels in order specified in an array. It has to contain unique entries per channel and it cannot contain entry with the same channel as original message. **Make sure to provide correct sender and destinations specified as `Channels Destination` for each channel**.
            - object: Configuration of a single failover step
              - …
            - object: Configuration of a single failover step
              - …
      - object: Represents a single template message.
        - `channel` 'APPLE_MB' | 'RCS' | 'VIBER_BM' | 'WHATSAPP', required: Messaging channel used for sending a template message.
        - `sender` string: The sender ID. It can be alphanumeric or numeric (e.g., `CompanyName`). Make sure you don't exceed [character limit](https://www.infobip.com/docs/sms/get-started#sender-names).
        - `destinations` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessageDestination[], required: Array of destination objects for where messages are being sent. A valid destination is required. **`Channels Destination` is required when sending messages with defined failover.**
          - union: Array of destination objects for where messages are being sent. A valid destination is required. **`Channels Destination` is required when sending messages with defined failover.**
            - object: Represents a destination which can be specified by a `channel`. **It is required for a message failover**.
              - …
            - object: Represents a simple destination.
              - …
        - `template` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiTemplate, required: Details of the template.
          - `templateName` string, required: Template name or identifier which given channel uses to send a template message.
          - `language` string: Language of the template.
          - `referenceId` string: Reference field (used only in Apple) to provide context of what the message is for (e.g. order number, case identifier, etc).
        - `content` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiTemplateMessageContent: Content of the message.
          - `header` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiTemplateHeader: Header of a template message.
            - `type` 'TEXT' | 'DOCUMENT' | 'IMAGE' | 'VIDEO' | 'LOCATION', required
          - `body` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiTemplateBody: Body of a template message.
            - `type` 'TEXT' | 'CAROUSEL', required
          - `buttons` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiTemplateButton[]: List of buttons of a template message.
            - `type` 'QUICK_REPLY' | 'OPEN_URL' | 'PHONE_NUMBER' | 'FLOW' | 'COPY_CODE' | 'CATALOG' | 'MULTI_PRODUCT', required
          - `expirationTime` string: Expiration time of a limited-time offer template message. Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
        - `options` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiMessageOptions: Message options.
          - `platform` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fPlatform: Platform options. For more details, see [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
            - `entityId` string: Used when specifying an entity in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
            - `applicationId` string: Used when specifying an application in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
          - `validityPeriod` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fValidityPeriod: Message validity period. Once expired, the message won't be sent. Validity period longer than 48h is not supported. If exceeded, it will be automatically set to 48h. Minimal value is 10 seconds.
            - `amount` integer, required: Message validity period's value. If `timeUnit` is not set, it will default to `MINUTES`.
            - `timeUnit` 'SECONDS' | 'MINUTES' | 'HOURS': Message validity period time unit.
          - `deliveryTimeWindow` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryTimeWindow: Sets specific message delivery window outside of which messages won't be delivered. Often, used when there are restrictions on when messages can be sent. The exact time of the day to start sending messages can be defined using the `from` property. The exact time of the day to end sending messages can be defined using the `to` property. Properties `from` and `to` should be both provided with the minimum 1 hour difference or omitted.
            - `days` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryDay[], required: Days of the week which are included in the delivery time window. At least one day must be provided. Separate multiple days with a comma.
            - `from` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryTime: The exact time of the day. The time is expressed in the UTC time zone.
              - …
            - `to` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fDeliveryTime: The exact time of the day. The time is expressed in the UTC time zone.
              - …
          - `adaptationMode` boolean: If channel does not fully support message to be sent, we will try to map it as best effort. This is default behavior, even if this option is not specified.
          - `regional` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fRegionalOptions: Region-specific parameters, often imposed by local laws. Use this, if country or region that you are sending an SMS to requires additional information.
            - `indiaDlt` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fIndiaDltOptions: Distributed Ledger Technology (DLT) specific parameters required for sending SMS to phone numbers registered in India.
              - …
            - `turkeyIys` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fTurkeyIysOptions: IYS regulations specific parameters required for sending promotional SMS to phone numbers registered in Turkey.
              - …
            - `southKorea` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fSouthKoreaOptions: Use case dependent parameters for sending SMS to phone numbers registered in South Korea.
              - …
          - `campaignReferenceId` string: ID that allows you to track, analyze, and show an aggregated overview and the performance of individual campaigns per sending channel.
          - `transliteration` 'NONE' | 'TURKISH' | 'GREEK' | 'CYRILLIC' | 'SERBIAN_CYRILLIC' | 'CENTRAL_EUROPEAN' | 'BALTIC' | 'NON_UNICODE' | 'PORTUGUESE' | 'COLOMBIAN' | 'BULGARIAN_CYRILLIC' | 'ALL': The transliteration of your sent message from one script to another. Transliteration is used to replace characters which are not recognized as part of your defaulted alphabet. Possible values: `TURKISH`, `GREEK`, `CYRILLIC`, `SERBIAN_CYRILLIC`, `BULGARIAN_CYRILLIC`, `CENTRAL_EUROPEAN`, `BALTIC`, `PORTUGUESE`, `COLOMBIAN`, and `NON_UNICODE`. Supported by SMS.
          - `correlationData` string: Correlation data included in the outbound message. If provided, it will be returned in the inbound message. Auto-generated if not set explicitly.
          - `trafficType` 'PROMOTIONAL' | 'TRANSACTIONAL': Traffic type classification for message sending. Supported by Viber for non-template messages only.
          - `sessionRate` boolean: Defines if the message should be charged using session rate. Supported by Viber for content with text/image/document only (without buttons, extra text etc.) body type. For text/image only body types `sessionRate` won't be applied if parameter `primaryDevice` is set to true.
          - `primaryDevice` boolean: Defines if the message should be sent only to the end user's primary device (phone or tablet). Supported by Viber for message with content with text/image/document only (without buttons, extra text etc.) body type or template message.
        - `webhooks` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiWebhooks: Provides options for configuring message webhooks.
          - `delivery` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiDelivery: Provides options for configuring the delivery report behavior.
            - `url` string: The URL on your call back server where a delivery report will be sent. If your URL becomes unavailable then the [retry cycle](https://www.infobip.com/docs/sms/api#notify-url) uses the following formula: `1min + (1min * retryNumber * retryNumber)`.
            - `intermediateReport` boolean: The real-time intermediate delivery report containing GSM error codes, messages status, pricing, network and country codes, etc., which will be sent on your callback server. The default setting is `false`.
            - `receiveTriggeredFailoverReports` boolean: Allows you to receive delivery reports for all triggered failover steps, not just the final one (either the first successful or the last failed step). The default setting is `false`.
          - `contentType` string: Preferred delivery report content type, `application/json` or `application/xml`.
          - `callbackData` string: Additional data that can be used for identifying, managing, or monitoring a message. Data included here will also be automatically included in the message Delivery Report and Seen Report. The maximum value is 4000 characters.
          - `seen` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fSeenStatusReporting: Provides options for configuring the seen report behavior.
            - `url` string: The URL on your call back server where a seen report will be sent.
        - `failover` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiBaseFailover[]: Provides options for configuring a message failover. When message fails it will be sent over channels in order specified in an array. It has to contain unique entries per channel and it cannot contain entry with the same channel as original message. **Make sure to provide correct sender and destinations specified as `Channels Destination` for each channel**.
          - union: Provides options for configuring a message failover. When message fails it will be sent over channels in order specified in an array. It has to contain unique entries per channel and it cannot contain entry with the same channel as original message. **Make sure to provide correct sender and destinations specified as `Channels Destination` for each channel**.
            - object: Configuration of a single failover step
              - …
            - object: Configuration of a single failover step
              - …
  - `options` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessagesApiRequestOptions: Options applicable to all messages in the request.
    - `schedule` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fRequestSchedulingSettings: Options for scheduling a message.
      - `bulkId` string: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. If not provided, it will be auto-generated and returned in the API response.
      - `sendAt` string, date-time: Date and time when the message is to be sent. Used for scheduled messages. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, and can only be scheduled for no later than 180 days in advance.
      - `sendingSpeedLimit` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fSendingSpeedLimit: Limits the send speed when sending messages in bulk to deliver messages over a longer period of time. You may wish to use this to allow your systems or agents to handle large amounts of incoming traffic, e.g., if you are expecting recipients to follow through with a call-to-action option from a message you sent. Not setting a send speed limit can overwhelm your resources with incoming traffic.
        - `amount` integer, required: The number of messages to be sent per timeUnit. By default, the system sends messages as fast as the infrastructure allows. Use this parameter to adapt sending capacity to your needs. The system is only able to work against its maximum capacity for ambitious message batches.
        - `timeUnit` 'MINUTE' | 'HOUR' | 'DAY': The time unit to define when setting a messaging speed limit. Defaults to `MINUTE`.
    - `tracking` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fUrlOptions: Sets up [URL shortening](https://www.infobip.com/docs/url-shortening) and tracking feature. Does not apply to channels that do not support it: Instagram, LINE, Messenger, Viber Bot.
      - `shortenUrl` boolean: Enable shortening of the URLs within a message. Set this to `true`, if you want to set up other URL options.
      - `trackClicks` boolean: Enable tracking of short URL clicks within a message: which URL was clicked, how many times, and by whom.
      - `trackingUrl` string: The URL of your callback server on to which the Click report will be sent.
      - `removeProtocol` boolean: Remove a protocol, such as `https://`, from links to shorten a message. Note that some mobiles may not recognize such links as a URL.
      - `customDomain` string: Select a predefined custom domain to use when generating a short URL.
    - `messageOrdering` 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fMessageOrderingOptions: Message ordering options.
      - `respectOrder` boolean: If set to `true`, messages will be sent in the same order as they are provided in the request.
      - `stopOnFailure` boolean: It can be used in combination with `respectOrder` to stop sending messages when first message from request fails.

## Response `200`

Message accepted

- 899caf445aab842b03fe1d74e4afd7097f0161dae66538ffa05bba2f153d708fValidationOkResponse
  - `description` string, required: A detailed description.
  - `action` string, required: An action that should be taken.
  - `skippableViolations` ApiErrorViolation[]: List of violations that may be omitted, but is recommended to address.
    - `property` string: Request property that caused the error.
    - `violation` string: Detailed violation description.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
