# Navigators

&#x20;Navigator behaviour may vary according to the country you are sending to and the message type. You can see the preferred kind of SMS channels for each scenario [here](https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choosing-the-right-sender-availability-and-restrictions-by-country) and check any existing navigator in your workspace via the Navigator TAB in the developer dashboard&#x20;

<figure><img src="/files/CaQqkiXVfm7tJtjjW2gG" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Navigators only support SMS channels. Other platform channels (WhatsApp, RCS, etc.) will not be included in any message sent via Navigators.
{% endhint %}

## List Available Navigators&#x20;

## Get list of workspace navigators.

> Get list of the navigators configured for a workspace. Navigators are used to select a channel for a message based on its content, type, recipient, etc. The type of the navigator defines how the channel will be selected.

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"queryLimit":{"name":"limit","description":"Limits the number of results to return","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":10}},"queryCursor":{"name":"pageToken","description":"Pagination token that keeps of track of the current position in the list","in":"query","schema":{"type":"string","maxLength":8000}},"queryDirection":{"name":"reverse","description":"Order in which to retrieve the results","in":"query","schema":{"type":"boolean","default":false}},"queryNavigatorType":{"name":"type","in":"query","schema":{"$ref":"#/components/schemas/Type"}},"queryUseCaseType":{"name":"useCaseType","in":"query","schema":{"$ref":"#/components/schemas/UseCaseType"}}},"schemas":{"Type":{"type":"string","description":"The type of navigator defines how the navigator selects a channel for a message. * messaging - navigator configured with a pool of channels and performs channel selection based on channel availability and best originator type for a recipient country. The best originator type for a recipient country is determined by the strategy - prioritized list of originator types for each country. At this moment, the default pre-configured strategy (set of country policies) is used see https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choosing-the-right-sender-availability-and-restrictions-by-country","enum":["messaging","use-case-messaging","otp"]},"UseCaseType":{"type":"string","enum":["otp","transactional","marketing","conversation"]},"NavigatorList":{"type":"object","title":"NavigatorList","description":"A list of navigators","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Navigator"}}}},"Navigator":{"type":"object","title":"Navigator","additionalProperties":false,"properties":{"navigatorId":{"$ref":"#/components/schemas/Id-3"},"workspaceId":{"$ref":"#/components/schemas/Id-3"},"name":{"$ref":"#/components/schemas/Name-2"},"type":{"$ref":"#/components/schemas/Type"},"settings":{"oneOf":[{"$ref":"#/components/schemas/MessagingNavigatorSettings"},{"$ref":"#/components/schemas/UseCaseMessagingNavigatorSettings"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["navigatorId","workspaceId","name","settings","type","createdAt"]},"Id-3":{"type":"string","description":"The unique identifier of the navigator.","format":"uuid"},"Name-2":{"type":"string","description":"The name of the navigator.","minLength":1,"maxLength":100},"MessagingNavigatorSettings":{"title":"MessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"channels":{"description":"List of channel IDs to be used","type":"array","minItems":1,"items":{"type":"object","properties":{"channelId":{"$ref":"#/components/schemas/Id-3"}}}}},"required":["channels"]},"UseCaseMessagingNavigatorSettings":{"title":"ConditionalMessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"useCaseType":{"$ref":"#/components/schemas/UseCaseType"},"ottChannelsIds":{"type":"object","properties":{"whatsapp":{"description":"Channel for WA","type":"string","nullable":true},"rcs":{"description":"Channel for RCS","type":"string","nullable":true}}}},"required":["useCaseType"]},"Pagination":{"type":"object","properties":{"nextPageToken":{"type":"string","description":"The token that can be passed as pageToken in URL to retrieve the next set of results. If missing, no more results to display."}}},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/navigators":{"get":{"summary":"Get list of workspace navigators.","operationId":"getWorkspaceNavigators","description":"Get list of the navigators configured for a workspace. Navigators are used to select a channel for a message based on its content, type, recipient, etc. The type of the navigator defines how the channel will be selected.","tags":["channel"],"parameters":[{"$ref":"#/components/parameters/queryLimit"},{"$ref":"#/components/parameters/queryCursor"},{"$ref":"#/components/parameters/queryDirection"},{"$ref":"#/components/parameters/queryNavigatorType"},{"$ref":"#/components/parameters/queryUseCaseType"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/NavigatorList"},{"$ref":"#/components/schemas/Pagination"}]}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

By default, each workspace will have 4 navigators. &#x20;

{% hint style="info" %}
Please contact our support team if you need a customized navigator added to your workspace.  One of our support support agents will  coordinate its provisioning
{% endhint %}

* **Marketing:** The primary objective of marketing navigators is to send bulk traffic. They will only attempt delivery via `PROMOTIONAL` channels, adhering to strict compliance checks, including quiet hours and Opt-Out regulations.
* **Conversation:** Conversational navigators consider only two-way `CONVERSATIONAL` channels, ignoring any one-way channels (such as those using Alphanumeric senders).
* **Transactional:** The transactional navigator prioritizes high-quality routes when applying only the minimum required compline chec&#x6B;**.** Transactional navigators will only send traffic from `TRANSACTIONAL` channels to ensure the best possible Quality of Service.
* **OTP:** The 2FA navigator prioritizes deliverability above all. It attempts to send messages via `2FA` channels first but will use `TRANSACTIONAL` channels if none are available, and as a last resort, it will utilize `PROMOTIONAL` channels.

{% hint style="danger" %}
When sending OTPs, ensure you have either 2FA or transactional channels in your workspace. OTP messages delivered through promotional channels during quiet hours may be delayed until the following day.
{% endhint %}

### Inspect a Navigator

## Get navigator by ID

> Get the navigator by ID

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"Navigator":{"type":"object","title":"Navigator","additionalProperties":false,"properties":{"navigatorId":{"$ref":"#/components/schemas/Id-3"},"workspaceId":{"$ref":"#/components/schemas/Id-3"},"name":{"$ref":"#/components/schemas/Name-2"},"type":{"$ref":"#/components/schemas/Type"},"settings":{"oneOf":[{"$ref":"#/components/schemas/MessagingNavigatorSettings"},{"$ref":"#/components/schemas/UseCaseMessagingNavigatorSettings"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["navigatorId","workspaceId","name","settings","type","createdAt"]},"Id-3":{"type":"string","description":"The unique identifier of the navigator.","format":"uuid"},"Name-2":{"type":"string","description":"The name of the navigator.","minLength":1,"maxLength":100},"Type":{"type":"string","description":"The type of navigator defines how the navigator selects a channel for a message. * messaging - navigator configured with a pool of channels and performs channel selection based on channel availability and best originator type for a recipient country. The best originator type for a recipient country is determined by the strategy - prioritized list of originator types for each country. At this moment, the default pre-configured strategy (set of country policies) is used see https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choosing-the-right-sender-availability-and-restrictions-by-country","enum":["messaging","use-case-messaging","otp"]},"MessagingNavigatorSettings":{"title":"MessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"channels":{"description":"List of channel IDs to be used","type":"array","minItems":1,"items":{"type":"object","properties":{"channelId":{"$ref":"#/components/schemas/Id-3"}}}}},"required":["channels"]},"UseCaseMessagingNavigatorSettings":{"title":"ConditionalMessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"useCaseType":{"$ref":"#/components/schemas/UseCaseType"},"ottChannelsIds":{"type":"object","properties":{"whatsapp":{"description":"Channel for WA","type":"string","nullable":true},"rcs":{"description":"Channel for RCS","type":"string","nullable":true}}}},"required":["useCaseType"]},"UseCaseType":{"type":"string","enum":["otp","transactional","marketing","conversation"]},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/navigators/{navigatorId}":{"get":{"summary":"Get navigator by ID","operationId":"getNavigatorByID","description":"Get the navigator by ID","tags":["channel"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Navigator"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

## Coverage

Navigators can access as many countries as there are channels available to them. Coverage may vary over time based on channel availability and health.&#x20;

You can check a navigator coverage and the channel it will use for each country by clicking on it in the navigator set up page&#x20;

<figure><img src="/files/gZLLplyJvIVMKoWWPs0W" alt=""><figcaption></figcaption></figure>

## Get navigator coverage by ID

> Get the navigator coverage by ID configured for a workspace

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"NavigatorCoverage":{"type":"object","title":"NavigatorCoverage","additionalProperties":{"type":"object","properties":{"identifier":{"description":"Originator","type":"string"},"type":{"description":"Originator type","type":"string","enum":["alphaNumeric","longCode","shortCode","tfn","whatsapp"]},"originCountry":{"description":"Country of origin of the Originator","type":"string"},"channelId":{"type":"string"},"coverageQuality":{"type":"string"}},"required":["identifier","type"]}},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/navigators/{navigatorId}/coverage":{"get":{"summary":"Get navigator coverage by ID","operationId":"getNavigatorCoverageByID","description":"Get the navigator coverage by ID configured for a workspace","tags":["channel"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NavigatorCoverage"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

## Sending messages

{% hint style="info" %}
**A-Sync** : this  will start a background process that may require some time to complete. A Get call may be required to to retrieve the final result .
{% endhint %}

{% hint style="info" %}
The Navigators POST request follows the same schema and requires the same body as the [channels POST](/api/channels-api/supported-channels/programmable-sms/sending-sms-messages.md#send-an-sms-message) request
{% endhint %}

## Send a message

> Send a message to a channel using the navigator. Channel webhooks will provide status updates, so each channel the navigator uses should have webhooks configured. Data returned via webhooks will have navigator metadata, including navigator ID and navigator message ID.

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel_message","description":"Messages are the data sent and received through channels."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"CreateNavigatorMessage":{"allOf":[{"type":"object","title":"CreateNavigatorMessage","additionalProperties":false,"required":["receiver"],"properties":{"sender":{"$ref":"#/components/schemas/Sender"},"receiver":{"$ref":"#/components/schemas/Receiver"},"reference":{"$ref":"#/components/schemas/Reference"},"template":{"$ref":"#/components/schemas/Template"},"templates":{"$ref":"#/components/schemas/Templates"},"meta":{"$ref":"#/components/schemas/Meta"},"replyTo":{"$ref":"#/components/schemas/ReplyTo"},"body":{"$ref":"#/components/schemas/Body"},"notification":{"$ref":"#/components/schemas/Notification"},"capFrequency":{"type":"boolean","description":"If set to true, the frequency capping settings of the platform will be used\nto either allow or reject the message to a contact. Can only be set to true\nif the message is sent to a contact and `.meta.extraInformation.useCase` is `marketing`.\n"},"enableLinkTracking":{"type":"boolean","description":"If set to true and message is a test/campaign message, web tracking parameters will be appended to the links in the message.\n"},"ignoreQuietHours":{"type":"boolean","description":"If set to true, quiet hours settings will be ignored and the message will be sent as soon as possible."},"ignoreGlobalHoldout":{"type":"boolean","description":"Do not check if the recipient is part of global holdout. To be used to send transactional messages."},"tags":{"$ref":"#/components/schemas/Tags"},"shortLinks":{"$ref":"#/components/schemas/ShortLinks"},"scheduledFor":{"$ref":"#/components/schemas/ScheduledFor"},"validity":{"$ref":"#/components/schemas/Validity"}}},{"anyOf":[{"type":"object","title":"ChannelMessageCreateWithTemplate","required":["template"]},{"type":"object","title":"ChannelMessageCreateWithBody","required":["body"]},{"type":"object","title":"NavigatorMessageCreateWithTemplates","required":["templates"]}]}]},"Sender":{"type":"object","additionalProperties":false,"properties":{"connector":{"type":"object","description":"The sender of the message. For email messages, the sender is used to override the default sender username.\n","properties":{"identifierValue":{"type":"string","description":"The identifier value of the sender.\n"},"annotations":{"$ref":"#/components/schemas/MessageAnnotations"}},"required":["identifierValue"]}},"required":["connector"]},"MessageAnnotations":{"type":"object","title":"MessageAnnotations","description":"Annotations are used to add additional information to a message.\nFor email messages, it can be used to specify a custom sender name.\n","additionalProperties":false,"properties":{"name":{"type":"string"}}},"Receiver":{"type":"object","additionalProperties":false,"properties":{"contacts":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"The ID of the receiver. This is a reference to a contact."},"identifierKey":{"type":"string","description":"The identifier key for finding the contact.\nFor WhatsApp channels with BSUID support, use `whatsappbsuid` to send\nto a contact by their Business-Scoped User ID without needing to know\nthe channel's portfolio ID.\n"},"identifierValue":{"type":"string","description":"The identifier value for finding the contact."},"type":{"type":"string","description":"The type of the receiver.","enum":["cc","bcc","to"]},"identifiers":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["identifierKey","identifierValue"],"properties":{"identifierKey":{"type":"string","description":"The identifier key for finding the contact."},"identifierValue":{"type":"string","description":"The identifier value for finding the contact."}}}},"platformAddress":{"type":"string","description":"The value that is used to send the message to the platform.\n"},"platformAddressSelector":{"type":"string","nullable":true,"description":"An expression that defines how we resolve the platform address (e.g. phone number or email address) from a contact.\nThis is an optional override for the default resolution logic (i.e. sending to the first\nidentifier key-value pair for the relevant platform).\n"}}}}}},"Reference":{"type":"string","description":"A reference to the message. This can be used to identify the message in the channel.\n"},"Template":{"type":"object","nullable":true,"additionalProperties":false,"properties":{"name":{"type":"string","description":"The platform name of the template."},"projectId":{"type":"string","description":"the ID of the project from the project from Studio"},"version":{"type":"string","description":"The version of the template."},"locale":{"type":"string","format":"locale-bcp47"},"attachments":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl","filename"],"properties":{"mediaUrl":{"type":"string","format":"uri","description":"The URL of the attachment."},"filename":{"type":"string","description":"The filename of the attachment."},"inline":{"type":"boolean"}}}},"shortLinks":{"nullable":true,"type":"object","description":"SMS link shortening options.","properties":{"enabled":{"type":"boolean","description":"Enables link shortening for SMS messages."},"domain":{"type":"string","description":"The domain to use when shortening links. When set to `default`,\nuses the default link shortening domain for the workspace.\n"}}},"variables":{"nullable":true,"deprecated":true,"description":"Deprecated: Use `parameters` instead (string parameter for variables). This property is maintained for backward compatibility but will be removed in a future version.\n","type":"object","properties":{"default":{"type":"string"}},"additionalProperties":{"type":"string"}},"utmParameters":{"nullable":true,"type":"array","description":"The list of UTM parameters.","minItems":1,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["key","value"],"additionalProperties":false,"properties":{"key":{"type":"string","description":"The name of the parameter in the query string.","minLength":1,"maxLength":20},"value":{"type":"string","description":"The static value of the parameter. Mutually exclusive with Reference.","minLength":1,"maxLength":100}}},{"type":"object","required":["key","reference"],"additionalProperties":false,"properties":{"key":{"type":"string","description":"The name of the parameter in the query string.","minLength":1,"maxLength":20},"reference":{"type":"string","description":"The reference to a dynamic value. Mutually exclusive with Value.","enum":["platform_name","channel_name"]}}}]}},"parameters":{"nullable":true,"type":"array","minLength":1,"items":{"$ref":"#/components/schemas/TemplateParameter"}},"settings":{"nullable":true,"type":"object","properties":{"disallowMmLite":{"type":"boolean","nullable":true,"description":"This is specific for WhatsApp marketing templates and requires MM Lite to be disabled for the WABAID.\n"}}}}},"TemplateParameter":{"oneOf":[{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["string"]},"key":{"type":"string","minLength":1},"value":{"type":"string"}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["number"]},"key":{"type":"string","minLength":1},"value":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["boolean"]},"key":{"type":"string","minLength":1},"value":{"type":"boolean"}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["object"]},"key":{"type":"string","minLength":1},"value":{"type":"object","additionalProperties":true}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["sectionList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"sections":{"$ref":"#/components/schemas/Sections"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["timeslotList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["timeslots"],"additionalProperties":false,"properties":{"timeslots":{"$ref":"#/components/schemas/Timeslots"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["productSections"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["productSections"],"additionalProperties":false,"properties":{"productSections":{"$ref":"#/components/schemas/ProductSections"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["productList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["products"],"additionalProperties":false,"properties":{"products":{"$ref":"#/components/schemas/ProductList"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["shippingMethodList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["shippingMethods"],"additionalProperties":false,"properties":{"shippingMethods":{"$ref":"#/components/schemas/AppleShippingMethods"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["lineItemList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["lineItems"],"additionalProperties":false,"properties":{"lineItems":{"$ref":"#/components/schemas/AppleLineItems"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["whatsappProductSections"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"sections":{"$ref":"#/components/schemas/WhatsappProductSections"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["whatsappProductItems"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["products"],"additionalProperties":false,"properties":{"products":{"type":"array","items":{"$ref":"#/components/schemas/WhatsappProductItem"}}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["carouselCards"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["cards"],"additionalProperties":false,"properties":{"cards":{"type":"array","items":{"$ref":"#/components/schemas/WhatsappCarouselCard"}}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["appleFormPageItems"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["items"],"additionalProperties":false,"properties":{"items":{"$ref":"#/components/schemas/AppleFormPageItems"}}}}}]},"Sections":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["title","items"],"properties":{"id":{"type":"string","nullable":true},"multipleSelection":{"type":"boolean"},"title":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReplyAction"}}}}},"ReplyAction":{"type":"object","required":["type","replyAction"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["reply-action"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"replyAction":{"type":"object","properties":{"text":{"type":"string"},"imageUrl":{"type":"string"},"payload":{"type":"string"},"subTitle":{"type":"string"}},"required":["text"]}}},"Timeslots":{"type":"array","nullable":false,"items":{"type":"object","additionalProperties":false,"required":["startTime","duration"],"properties":{"id":{"type":"string","nullable":true},"startTime":{"type":"string","format":"date-time"},"duration":{"type":"number"}}}},"ProductSections":{"type":"array","nullable":false,"items":{"type":"object","additionalProperties":false,"required":["title","products"],"properties":{"title":{"type":"string","minLength":1,"maxLength":24},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}}}}},"Product":{"type":"object","additionalProperties":false,"required":["externalProductId"],"properties":{"externalProductId":{"type":"string"},"amount":{"type":"string"},"text":{"type":"string"}}},"ProductList":{"type":"array","nullable":false,"items":{"type":"object","additionalProperties":false,"required":["type","product"],"properties":{"type":{"type":"string","enum":["product"]},"product":{"$ref":"#/components/schemas/Product"}}}},"AppleShippingMethods":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["amount","label","identifier","detail"],"properties":{"amount":{"type":"string"},"label":{"type":"string"},"identifier":{"type":"string"},"detail":{"type":"string"}}}},"AppleLineItems":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["amount","text"],"properties":{"amount":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["pending","final"]}}}},"WhatsappProductSections":{"type":"array","nullable":false,"items":{"$ref":"#/components/schemas/WhatsappProductSection"}},"WhatsappProductSection":{"type":"object","additionalProperties":false,"required":["type","whatsappProductSection"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["whatsapp-product-section"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"whatsappProductSection":{"type":"object","additionalProperties":false,"required":["title","products"],"properties":{"title":{"type":"string","minLength":1,"maxLength":24},"products":{"type":"array","items":{"$ref":"#/components/schemas/WhatsappProductItem"}}}}}},"WhatsappProductItem":{"type":"object","additionalProperties":false,"required":["type","whatsappProductItem"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["whatsapp-product-item"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"whatsappProductItem":{"type":"object","additionalProperties":false,"required":["externalProductId"],"properties":{"externalProductId":{"type":"string"}}}}},"WhatsappCarouselCard":{"type":"object","additionalProperties":false,"required":["type","whatsappCarouselCard"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["whatsapp-carousel-card"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"whatsappCarouselCard":{"type":"object","additionalProperties":false,"required":["header","body","actions"],"properties":{"header":{"oneOf":[{"type":"object","additionalProperties":false,"required":["type","image"],"properties":{"type":{"type":"string","enum":["image"]},"image":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"mediaUrl":{"type":"string"},"altText":{"type":"string"}}}}},{"type":"object","additionalProperties":false,"required":["type","file"],"properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"mediaUrl":{"type":"string"},"contentType":{"type":"string"}}}}}]},"body":{"type":"object","additionalProperties":false,"required":["type","text"],"properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string"}}}}},"actions":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["type","linkAction"],"properties":{"type":{"type":"string","enum":["link-action"]},"linkAction":{"type":"object","additionalProperties":false,"required":["text","url"],"properties":{"text":{"type":"string"},"url":{"type":"string"}}}}},"minItems":1,"maxItems":1,"description":"Session carousels only support one link action per card."}}}}},"AppleFormPageItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["identifier","title","value"],"properties":{"identifier":{"type":"string","description":"Unique identifier for the item"},"title":{"type":"string","description":"Display text shown to the user"},"value":{"type":"string","description":"Value submitted when the item is selected"},"imageUrl":{"type":"string","nullable":true,"description":"Optional URL of an image to display alongside the item title"},"nextPageIdentifier":{"type":"string","nullable":true,"description":"Identifier of the next page to navigate to when this item is selected"}}}},"Templates":{"type":"object","nullable":true,"additionalProperties":{"$ref":"#/components/schemas/Template"}},"Meta":{"type":"object","additionalProperties":false,"properties":{"extraInformation":{"type":"object","additionalProperties":true,"description":"Additional information about the message.\n"},"referral":{"$ref":"#/components/schemas/MessageReferral"},"order":{"$ref":"#/components/schemas/MessageOrder"},"referredProduct":{"$ref":"#/components/schemas/ReferredProduct"},"email":{"$ref":"#/components/schemas/MetaEmail"},"sms":{"$ref":"#/components/schemas/MetaSMS"},"pushNotifications":{"$ref":"#/components/schemas/MetaPushNotifications"},"navigatorId":{"$ref":"#/components/schemas/Id-2"},"navigatorMessageId":{"$ref":"#/components/schemas/Id-2"},"flow":{"$ref":"#/components/schemas/MetaFlow"},"journey":{"$ref":"#/components/schemas/MetaFlow"},"campaign":{"$ref":"#/components/schemas/MetaCampaign"}}},"MessageReferral":{"type":"object","additionalProperties":false,"properties":{"source":{"type":"string"},"title":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"group":{"type":"string","nullable":true},"metadata":{"type":"object","nullable":true,"additionalProperties":false,"properties":{"source_id":{"type":"string"},"source_url":{"type":"string","nullable":true},"media_url":{"type":"string","nullable":true},"tracking_id":{"type":"string","nullable":true}}}}},"MessageOrder":{"type":"object","additionalProperties":false,"description":"The order object contains information about the purchase order.","properties":{"products":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"externalCatalogId":{"type":"string","description":"The platform-specific catalog ID of the product."},"externalProductId":{"type":"string","description":"The platform-specific product ID."},"quantity":{"type":"integer","description":"The number of items purchased."},"price":{"type":"object","description":"The price of the product.","additionalProperties":false,"properties":{"amount":{"type":"integer"},"exponent":{"type":"integer"},"currencyCode":{"type":"string"}}}}}}}},"ReferredProduct":{"type":"object","additionalProperties":false,"description":"Referred product in an incoming message.","nullable":true,"properties":{"externalCatalogId":{"type":"string","description":"The platform-specific catalog ID of the product."},"externalProductId":{"type":"string","description":"The platform-specific product ID."}}},"MetaEmail":{"type":"object","additionalProperties":false,"properties":{"subject":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"from":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string","pattern":"[\\w\\d.-/+]+"},"displayName":{"type":"string"}}}}},"MetaSMS":{"type":"object","additionalProperties":false,"properties":{"smartEncoding":{"type":"boolean","description":"When enabled, attempts to transliterate Unicode characters to GSM-7 equivalents.\nIf the resulting text is fully GSM-7 compatible, fewer message segments may be required.\nThe original message body is preserved; transliteration is only applied when sending.\n"}}},"MetaPushNotifications":{"type":"object","additionalProperties":false,"properties":{"gatewayTypeOverride":{"type":"string","enum":["apns","firebase","web"]}}},"Id-2":{"type":"string","format":"uuid"},"MetaFlow":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"stepId":{"type":"string","nullable":true},"runId":{"type":"string","format":"uuid","nullable":true}}},"MetaCampaign":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true}}},"ReplyTo":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"The ID of the message that is being replied to."},"order":{"type":"integer","description":"The order of the message in the conversation."},"type":{"type":"string","enum":["message","click","referrals"]}},"required":["id","type"]},"Body":{"type":"object","title":"MessageBody","nullable":true,"allOf":[{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/BodyTypes"}}},{"oneOf":[{"$ref":"#/components/schemas/TypeText"},{"$ref":"#/components/schemas/TypeHTML"},{"$ref":"#/components/schemas/TypeImage"},{"$ref":"#/components/schemas/TypeFile"},{"$ref":"#/components/schemas/TypeGif"},{"$ref":"#/components/schemas/TypeLocation"},{"$ref":"#/components/schemas/TypeCarousel"},{"$ref":"#/components/schemas/TypeList"},{"$ref":"#/components/schemas/TypeSection"},{"$ref":"#/components/schemas/TypeAuthentication"},{"$ref":"#/components/schemas/TypeAction"}],"discriminator":{"propertyName":"type","mapping":{"text":"#/components/schemas/TypeText","html":"#/components/schemas/TypeHTML","image":"#/components/schemas/TypeImage","file":"#/components/schemas/TypeFile","gif":"#/components/schemas/TypeGif","location":"#/components/schemas/TypeLocation","carousel":"#/components/schemas/TypeCarousel","list":"#/components/schemas/TypeList","section":"#/components/schemas/TypeSection","authentication":"#/components/schemas/TypeAuthentication","action":"#/components/schemas/TypeAction"}}}]},"BodyTypes":{"type":"string","enum":["text","html","image","file","gif","location","carousel","list","section","authentication","template","action"]},"TypeText":{"type":"object","required":["text","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string","minLength":1},"attachments":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl","filename"],"properties":{"mediaUrl":{"type":"string","format":"uri"},"filename":{"type":"string"},"inline":{"type":"boolean"},"contentId":{"type":"string"}}}},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","additionalProperties":false,"properties":{"subject":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"whatsapp":{"type":"object","additionalProperties":false,"properties":{"previewUrl":{"type":"boolean","description":"When set to `true`, preview will be displayed within whatsapp chat."}}},"line":{"type":"object","additionalProperties":false,"properties":{"emoji":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["index","productId","emojiId"],"properties":{"index":{"type":"integer"},"productId":{"type":"string"},"emojiId":{"type":"string"},"length":{"type":"integer","nullable":true,"readOnly":true}}}}}}}},"telegram":{"$ref":"#/components/schemas/MetadataTelegram"},"apple":{"$ref":"#/components/schemas/MetadataApple"}}}}}}},"Actions":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Action"}},"Action":{"allOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["link","reply","locationRequest","buy","postback"]}}},{"oneOf":[{"$ref":"#/components/schemas/ActionLink"},{"$ref":"#/components/schemas/ActionReply"},{"$ref":"#/components/schemas/ActionLocationRequest"},{"$ref":"#/components/schemas/ActionBuy"},{"$ref":"#/components/schemas/ActionPostback"}],"discriminator":{"propertyName":"type","mapping":{"link":"#/components/schemas/ActionLink","reply":"#/components/schemas/ActionReply","locationRequest":"#/components/schemas/ActionLocationRequest","buy":"#/components/schemas/ActionBuy","postback":"#/components/schemas/ActionPostback"}}}]},"ActionLink":{"type":"object","required":["link","type"],"properties":{"type":{"type":"string","enum":["link"]},"link":{"type":"object","required":["text","url"],"properties":{"text":{"type":"string"},"url":{"anyOf":[{"type":"string","pattern":"{{[^{}]+}}"},{"type":"string","format":"uri"}]}}}}},"ActionReply":{"type":"object","required":["reply","type"],"properties":{"type":{"type":"string","enum":["reply"]},"reply":{"type":"object","properties":{"text":{"type":"string"},"imageUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ActionReplyMetadata"}},"required":["text"]}}},"ActionReplyMetadata":{"type":"object","properties":{"description":{"$ref":"#/components/schemas/ActionDescription"}}},"ActionDescription":{"type":"object","description":"Sets the description in the row objects for Whatsapp list messages. Only available usage for Whatsapp platform","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":72}}},"ActionLocationRequest":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["locationRequest"]},"locationRequest":{"type":"object","nullable":true,"properties":{"text":{"type":"string","default":"Send location"}}}}},"ActionBuy":{"type":"object","required":["buy","type"],"properties":{"type":{"type":"string","enum":["buy"]},"buy":{"type":"object","properties":{"text":{"type":"string"},"amountCents":{"type":"integer"},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["text","amountCents","currency"]}}},"ActionPostback":{"type":"object","required":["postback","type"],"properties":{"type":{"type":"string","enum":["postback"]},"postback":{"type":"object","properties":{"text":{"type":"string"},"payload":{"type":"string"},"imageUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ActionPostbackMetadata"}},"required":["text"]}}},"ActionPostbackMetadata":{"type":"object","properties":{"description":{"$ref":"#/components/schemas/ActionDescription"}}},"MetadataTelegram":{"type":"object","description":"The property is specific to Telegram, indicating the markup type to be used for message formatting","additionalProperties":false,"properties":{"parseMode":{"type":"string","enum":["Markdown","MarkdownV2"]}}},"MetadataApple":{"type":"object","description":"The property is specific to Apple Business Chat, containing Apple-specific metadata","additionalProperties":false,"properties":{"summaryText":{"type":"string","description":"Summary text for Apple Business Chat messages"},"appClipPreview":{"type":"boolean","description":"Indicates if the message includes an App Clip link"},"appClipRegion":{"type":"string","description":"AppClipRegion is the ISO 3166 alpha-2 country code for the App Store region."}}},"TypeHTML":{"type":"object","required":["html","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["html"]},"html":{"type":"object","additionalProperties":false,"anyOf":[{"required":["text"]},{"required":["html"]}],"properties":{"text":{"type":"string","minLength":1},"html":{"type":"string","minLength":1},"attachments":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["mediaUrl","filename"]},{"required":["content","contentType","filename"]}],"properties":{"mediaUrl":{"type":"string","format":"uri"},"filename":{"type":"string"},"inline":{"type":"boolean"},"content":{"type":"string","minLength":1},"contentType":{"type":"string","minLength":1},"contentId":{"type":"string"}}}},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","additionalProperties":false,"properties":{"subject":{"type":"string"},"emailFrom":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string","pattern":"[\\w\\d.-/+]+"},"displayName":{"type":"string"}}},"headers":{"type":"object","additionalProperties":{"type":"string"}},"initialOpenTracking":{"type":"boolean"},"clickTracking":{"type":"boolean"},"openTracking":{"type":"boolean"}}}}}}},"TypeImage":{"type":"object","required":["image","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["image"]},"image":{"type":"object","additionalProperties":false,"required":["images"],"properties":{"text":{"type":"string"},"images":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"mediaUrl":{"type":"string","format":"uri","minLength":1},"altText":{"type":"string"}}}},"metadata":{"type":"object","properties":{"subject":{"type":"string","description":"The property is specific mms file, shows the subject of the mms."},"fallbackText":{"type":"string","description":"The property is specific mms file, when a mms is not supported, it will fallback to show content with the fallbackText."},"storyType":{"type":"string","description":"The property is specific instagram file, shows the story type."},"telegram":{"$ref":"#/components/schemas/MetadataTelegram"}}},"actions":{"$ref":"#/components/schemas/Actions"}}}}},"TypeFile":{"type":"object","required":["file","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","additionalProperties":false,"required":["files"],"properties":{"text":{"type":"string"},"files":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl","contentType"],"properties":{"mediaUrl":{"type":"string","format":"uri","minLength":1},"contentType":{"type":"string","minLength":1},"filename":{"type":"string"},"altText":{"type":"string"},"metadata":{"type":"object","properties":{"isAnimated":{"type":"boolean","description":"The property is specific the sticker file, shows that if the sticker is animated or not."}}}}}},"metadata":{"type":"object","properties":{"subject":{"type":"string","description":"The property is specific mms file, shows the subject of the mms."},"fallbackText":{"type":"string","description":"The property is specific mms file, when a mms is not supported, it will fallback to show content with the fallbackText."},"storyType":{"type":"string","description":"The property is specific instagram file, shows the story type."},"telegram":{"$ref":"#/components/schemas/MetadataTelegram"}}},"actions":{"$ref":"#/components/schemas/Actions"}}}}},"TypeGif":{"type":"object","required":["gif","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["gif"]},"gif":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"text":{"type":"string"},"mediaUrl":{"type":"string","format":"uri","minLength":1},"altText":{"type":"string"},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","properties":{"telegram":{"$ref":"#/components/schemas/MetadataTelegram"}}}}}}},"TypeLocation":{"type":"object","required":["location","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["location"]},"location":{"type":"object","additionalProperties":false,"required":["coordinates"],"properties":{"coordinates":{"type":"object","additionalProperties":false,"properties":{"latitude":{"type":"number","format":"float","minimum":-90,"maximum":90},"longitude":{"type":"number","format":"float","minimum":-180,"maximum":180}}},"location":{"type":"object","additionalProperties":false,"properties":{"address":{"type":"string"},"label":{"type":"string"}}}}}}},"TypeCarousel":{"type":"object","required":["carousel","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["carousel"]},"carousel":{"type":"object","additionalProperties":false,"required":["items"],"properties":{"text":{"type":"string","description":"Optional text displayed above the carousel cards","maxLength":1024},"items":{"$ref":"#/components/schemas/Items"}}}}},"Items":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string"},"mediaUrl":{"type":"string","format":"uri","nullable":true},"description":{"type":"string"},"altText":{"type":"string"},"actions":{"$ref":"#/components/schemas/Actions"}}}},"TypeList":{"type":"object","required":["list","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["list"]},"list":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string"},"text":{"type":"string"},"altText":{"type":"string"},"items":{"$ref":"#/components/schemas/Items"},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","properties":{"button":{"type":"object","description":"Sets a button name for whatsapp list messages. Only available usage for Whatsapp platform","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":20}}},"replyMessage":{"type":"object","description":"Sets the reply message to be used when a list item is picked. Used for Apple Business Chat.","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":512},"text":{"type":"string","maxLength":512}}}}}},"required":["text"]}}},"TypeSection":{"type":"object","required":["section","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["section"]},"section":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"minLength":1,"$ref":"#/components/schemas/SectionBody"}},"configurations":{"type":"object","additionalProperties":{"type":"string"}}}}}},"SectionBody":{"type":"object","title":"MessageBody","allOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","image","file","gif","location","carousel","list","section"]}}},{"oneOf":[{"$ref":"#/components/schemas/TypeText"},{"$ref":"#/components/schemas/TypeImage"},{"$ref":"#/components/schemas/TypeFile"},{"$ref":"#/components/schemas/TypeGif"},{"$ref":"#/components/schemas/TypeLocation"},{"$ref":"#/components/schemas/TypeCarousel"},{"$ref":"#/components/schemas/TypeList"},{"$ref":"#/components/schemas/TypeSectionNested"}],"discriminator":{"propertyName":"type","mapping":{"text":"#/components/schemas/TypeText","image":"#/components/schemas/TypeImage","file":"#/components/schemas/TypeFile","gif":"#/components/schemas/TypeGif","location":"#/components/schemas/TypeLocation","carousel":"#/components/schemas/TypeCarousel","list":"#/components/schemas/TypeList","section":"#/components/schemas/TypeSectionNested"}}}]},"TypeSectionNested":{"type":"object","required":["section","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["section"]},"section":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"minLength":1,"$ref":"#/components/schemas/SectionBodyNested"}},"configurations":{"type":"object","properties":{"default":{"type":"string"}},"additionalProperties":{"type":"string"}}}}}},"SectionBodyNested":{"type":"object","title":"MessageBody","allOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","image","file","gif","location","carousel","list"]}}},{"oneOf":[{"$ref":"#/components/schemas/TypeText"},{"$ref":"#/components/schemas/TypeImage"},{"$ref":"#/components/schemas/TypeFile"},{"$ref":"#/components/schemas/TypeGif"},{"$ref":"#/components/schemas/TypeLocation"},{"$ref":"#/components/schemas/TypeCarousel"},{"$ref":"#/components/schemas/TypeList"}],"discriminator":{"propertyName":"type","mapping":{"text":"#/components/schemas/TypeText","image":"#/components/schemas/TypeImage","file":"#/components/schemas/TypeFile","gif":"#/components/schemas/TypeGif","location":"#/components/schemas/TypeLocation","carousel":"#/components/schemas/TypeCarousel","list":"#/components/schemas/TypeList"}}}]},"TypeAuthentication":{"type":"object","required":["authentication","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["authentication"]},"authentication":{"type":"object","additionalProperties":false,"properties":{"otp":{"type":"object","additionalProperties":false,"required":["disclaimer"],"properties":{"disclaimer":{"type":"boolean","description":"Whether to add a security disclaimer to the authentication body.","nullable":false},"expirationTime":{"type":"integer","minimum":1,"maximum":90,"nullable":true,"description":"The number of seconds after which the authentication body will expire. If not set, no expiration notification will be sent."},"actions":{"$ref":"#/components/schemas/Actions"}}}}}}},"TypeAction":{"type":"object","required":["type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["permission_request"]},"permission_request":{"type":"object","required":["resource"],"properties":{"resource":{"type":"string","enum":["call"]}}}}},"Notification":{"type":"object","title":"ChannelNotification","properties":{"url":{"type":"string","description":"A custom webhook url to send events to. Note: you should have a created webhook subscription.\nRefer to the Notifications API to learn how to create a webhook subscription.\n"}}},"Tags":{"type":"array","description":"Tags to associate with the message. Tags are converted to lower case and tags\nthat do not exist are automatically created. You can view your created tags\nin the UI. You can specify up to 10 tags per message.\n","maxItems":10,"items":{"$ref":"#/components/schemas/Name-3"}},"Name-3":{"type":"string","pattern":"^[a-zA-Z0-9-_ ]+$","minLength":1,"maxLength":50,"description":"Tag name. Must be between 1 and 50 characters and must only contain\nalphanumeric characters, hyphens, underscores, and spaces.\n"},"ShortLinks":{"nullable":true,"type":"object","description":"SMS link shortening options. Must be included in the request for SMS channels\nwhen `enableLinkTracking` is set to true. When using templates, please refer\nto the template level `shortLinks` instead.\n","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","maxLength":128,"description":"The domain to use when shortening links. When set to `default`,\nuses the default link shortening domain for the workspace.\n"}}},"ScheduledFor":{"type":"string","format":"date-time","description":"Scheduled time to send message at. Must be formated as RFC3339 timestamp. When\nset, the message status will be `scheduled` until it's sent. Messages scheduled\nfor a time in the past or within 10 minutes of the request may be sent\nimmediately. Messages scheduled farther than 35 days will be rejected.\n"},"Validity":{"type":"integer","description":"Validity determines for how many seconds a message is valid. If none is provided, the channel message type will be used to determine it.\nA promotional, conversational or transactional channel message is valid for 36 hours (129600 seconds). A message sent from a 2FA channel is valid for 10 minutes (600 seconds).\n","minimum":0},"Message":{"type":"object","title":"ChannelMessage","allOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id-2"},"channelId":{"$ref":"#/components/schemas/ChannelId"},"sender":{"oneOf":[{"$ref":"#/components/schemas/Connector"},{"$ref":"#/components/schemas/Contact"}]},"receiver":{"oneOf":[{"$ref":"#/components/schemas/Connector"},{"$ref":"#/components/schemas/Contacts"}]},"meta":{"$ref":"#/components/schemas/Meta"},"reference":{"$ref":"#/components/schemas/Reference"},"parts":{"$ref":"#/components/schemas/Parts"},"status":{"$ref":"#/components/schemas/Status-3"},"reason":{"type":"string"},"direction":{"$ref":"#/components/schemas/Direction"},"origin":{"$ref":"#/components/schemas/Origin"},"replyTo":{"$ref":"#/components/schemas/ReplyTo"},"lastStatusAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"details":{"description":"This field is used to store additional information related to the message status.\n","type":"string"},"failure":{"$ref":"#/components/schemas/Failure"},"tags":{"$ref":"#/components/schemas/Tags"},"shortLinks":{"$ref":"#/components/schemas/ShortLinks"},"scheduledFor":{"$ref":"#/components/schemas/ScheduledFor"}},"required":["id","channelId","sender","receiver","status","lastStatusAt","createdAt","updatedAt"]},{"anyOf":[{"type":"object","properties":{"body":{"$ref":"#/components/schemas/Body"}},"required":["body"]},{"type":"object","properties":{"template":{"$ref":"#/components/schemas/Template"}},"required":["template"]}]}]},"ChannelId":{"type":"string","format":"uuid"},"Connector":{"type":"object","title":"ChannelConnector","additionalProperties":false,"properties":{"connector":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"identifierValue":{"type":"string"},"annotations":{"$ref":"#/components/schemas/MessageAnnotations"},"types":{"type":"array","items":{"type":"string"}}},"required":["id"]}},"required":["connector"]},"Contact":{"type":"object","title":"ChannelContact","additionalProperties":false,"properties":{"contact":{"type":"object","properties":{"id":{"type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"},"countryCode":{"type":"string"},"platformAddress":{"type":"string"},"platformAddressSelector":{"type":"string"},"annotations":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"}}}},"required":["id","identifierKey","identifierValue"]}},"required":["contact"]},"Contacts":{"type":"object","title":"ChannelContacts","additionalProperties":false,"properties":{"contacts":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"},"countryCode":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"identifierKey":{"type":"string"},"identifierValue":{"type":"string"}}}},"platformAddress":{"type":"string"},"platformAddressSelector":{"type":"string","nullable":true},"annotations":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"}}}}}}},"required":["contacts"]},"Parts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"platformReference":{"type":"string"}}}},"Status-3":{"type":"string","enum":["accepted","rejected","processing","scheduled","sent","sending_failed","delivered","delivery_failed","deleted","skipped"]},"Direction":{"type":"string","enum":["incoming","outgoing"]},"Origin":{"type":"object","nullable":true,"additionalProperties":false,"required":["type","id"],"properties":{"type":{"type":"string","description":"origin type of message."},"id":{"type":"string","description":"origin id of message."}}},"Failure":{"type":"object","nullable":true,"additionalProperties":false,"properties":{"code":{"type":"integer","description":"omni channel interpretation of the failure to categorise the nature of message error."},"description":{"type":"string","description":"human readable description of the error."},"source":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","description":"numerical, text or alphanumeric code that indicates the error or issue while delivering the message in the last step."},"name":{"type":"string","description":"enum representing the step where the failure occurred. Example: # \"pre-processing\", \"accounting\", \"whatsapp\", \"email-sparkpost\", etc."}}}}},"Templates-2":{"type":"object","properties":{"templates":{"$ref":"#/components/schemas/Templates"}}},"NavigatorData":{"type":"object","properties":{"navigatorData":{"type":"object","properties":{"attempts":{"type":"array","items":{"$ref":"#/components/schemas/Attempt"}}}}}},"Attempt":{"type":"object","description":"Describes a channel used to send the message as well as delivery status","title":"Attempt","additionalProperties":false,"properties":{"channelId":{"$ref":"#/components/schemas/Id-3"},"messageId":{"$ref":"#/components/schemas/Id-3"},"platformId":{"type":"string"},"sender":{"type":"string"},"attempt":{"type":"integer","minimum":1},"createdAt":{"type":"string","format":"date-time"},"status":{"$ref":"#/components/schemas/Status-3"},"failure":{"$ref":"#/components/schemas/Failure"}},"required":["channelId","messageId","attempt","createdAt","status"]},"Id-3":{"type":"string","description":"The unique identifier of the navigator.","format":"uuid"},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]},"ValidationError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"},"details":{"type":"object","description":"Additional details about the error. This object can contain any additional information that may be useful for debugging.\n","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}},"validationError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}}},"paths":{"/workspaces/{workspaceId}/navigators/{navigatorId}/messages":{"post":{"summary":"Send a message","operationId":"acceptNavigatorMessage","description":"Send a message to a channel using the navigator. Channel webhooks will provide status updates, so each channel the navigator uses should have webhooks configured. Data returned via webhooks will have navigator metadata, including navigator ID and navigator message ID.","tags":["channel_message"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNavigatorMessage"}}}},"responses":{"202":{"description":"Message was accepted for processing","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Message"},{"$ref":"#/components/schemas/Templates-2"},{"$ref":"#/components/schemas/NavigatorData"}]}}}},"400":{"$ref":"#/components/responses/requestError"},"404":{"$ref":"#/components/responses/requestError"},"422":{"$ref":"#/components/responses/validationError"}}}}}}
```

The navigator message will contain navigator metadata, including.

#### Navigator information

providing UUID relevant to both the navigator objection and the navigator message objects&#x20;

```json
    "meta": {
        "navigatorId": "5f40c7f0-5904-4d68-8840-a1a5dc3e36c3",
        "navigatorMessageId": "5ec65d4f-53b0-45f8-8f83-b177f976b3e3"
    },
```

#### Attempts&#x20;

Navigator may attempt to send messages via more than one channel. attempts will list and providing information about all channels a navigator used when handling a given message&#x20;

```json
    "navigatorData": {
        "attempts": [
            {
                "channelId": "6f50cd25-d416-44d3-bf63-de88a60129d0",
                "messageId": "3ecadc0d-cf7c-4b2a-90bc-fed5a3f6a26e",
                "attempt": 1,
                "status": "accepted",
                "createdAt": "2024-07-18T14:04:18.214Z"
            }
```

You can get messages sent to a navigator by making a request to the channel endpoint that accepted the message based on the response above

### Check Navigators Messages Status Reports

#### To receive status reports about messages, you will need webhook subscriptions. You can create the via UI <br>

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXelaYZeQawp0qvKSTeSTOJ7xjx3Td0iBcA_lUyLStFLTHXLUTs0gdNSHLs00qxtJFdptZ8TtICuN4XFcvp2UXOJ-QqREW7bOBuhH3lVDDs_KZZO3ff71R7_JetKGp6OVbRHix42Lg?key=XXEWkhXxdceMCD2pmFtq3Vtu)

### Configure Webhook Subscriptions

#### **Navigators  Webhooks**&#x20;

We recommend subscribing at least to navigator.outbound. Navigator event will provide you information about any fallback as well the status of your navigator messages.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfzAaqQiS5I9RvY9F5A-A-UD0DN0c2PQpT01BxQAA-p2LdjYxDpgkZ92weKQ8rhYDC1VCWYuXNPBUCcgfX7ZAOTo4ww47ES3FkxSl2iGyRV8fQ306BNfRW8EzCGgj9ELdVYng3BcQ?key=XXEWkhXxdceMCD2pmFtq3Vtu)

{% hint style="info" %}
**Note**: Navigator message status reflects the final outcome of all delivery attempts made by the Navigator. For example, if a WhatsApp delivery fails but the fallback via SMS succeeds, the navigator message status will be marked as "Delivered."
{% endhint %}

```
{"service": "channels",
  "event": "navigator.outbound",
  "payload": {
    "id": "00000000-0000-0000-0000-100000000000",
    "navigatorId": {navigatorI},
    "reference": "",
"attempts": [
            {
                "channelId": {channelId},
                "platformId": "rcs-google",
                "messageId": "00000000-0000-0000-0000-000000000000",
                "attempt": 1,
                "status": "sending_failed",
                "createdAt": "2024-12-24T09:52:54.524Z"
            },
            {
                "channelId": {channelId},
                "platformId": "whatsapp",
                "messageId": "00000000-0000-0000-0000-000000000001",
                "attempt": 2,
                "status": "sending_failed",
                "createdAt": "2024-12-24T09:52:54.524Z",
                "failure": {
                    "code": 12006,
                    "description": "Invalid message",
                    "source": {
                        "name": "pre-processing"
                    }
                }
            },
            {
                "channelId": {channelId},
                "platformId": "sms-messagebird",
                "messageId": "00000000-0000-0000-0000-000000000002",
                "attempt": 3,
                "status": "delivered",
                "createdAt": "2024-12-24T09:52:54.524Z"
            }
        ],
    "status": "delivered",
    "createdAt": "2024-12-24T09:52:54.524Z",
    "updatedAt": "2024-12-24T09:52:55.855Z"
  }
}
```

**Optional: channel Webhooks**&#x20;

If you are interested in diving deep on specific attempts status you can also subscribe to `sms.outbound` and one for `whatsapp.outbound` . When doing so you will be able to retrieve the navigator ID and navigator message id in the meta field.

```
 "meta": {
      "navigatorId": "91af46ab-70ba-5152-a611-812cad0fbd71",
      "navigatorMessageId": "defe9d3b-9cea-4585-9f67-2a4f1d93101a"
    }
```

### Check Incoming Messages &#x20;

If you've only sent SMS messages before—especially if you haven’t operated in the U.S.—you’ve likely only used a one-way channel. WhatsApp, however, is a two-way channel by design, so users may try to contact you there. When using a Navigator to send both SMS and r WhatsApp traffic, it’s essential to monitor incoming messages to avoid missing user inquiries. Ignoring users can lead to frustration and could result in them reporting your channel to Meta, potentially causing suspension.

#### Programmatically

You can subscribe to `sms.inbound` and `whatsapp.inbound` event to capture all incoming messages in your workspace&#x20;

{% hint style="info" %}
NOTE incoming messages will not be linked to a navigator and will nto have the navigator information in the meta field&#x20;
{% endhint %}

#### Via UI&#x20;

If you navigate to the customer service section of our side panel you can find all incoming conversations in the entry corresponding to yours SMS or  WhatsApp channels.&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdp1VHN1eUR8b-bYtHRVGZ1kUxvphj4fldLHSJpWT_KSD78Jp2lloSrqojQRE5PwI10QaExEfIUz2YDCAgyVdZrvDYTRANYaw-Ko7PE_MMwVJuz33jdM0pxuuXXsM12NWnaro2otA?key=XXEWkhXxdceMCD2pmFtq3Vtu)

<br>

## Get message by message ID

> Get a channel message

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel_message","description":"Messages are the data sent and received through channels."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"Message":{"type":"object","title":"ChannelMessage","allOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id-2"},"channelId":{"$ref":"#/components/schemas/ChannelId"},"sender":{"oneOf":[{"$ref":"#/components/schemas/Connector"},{"$ref":"#/components/schemas/Contact"}]},"receiver":{"oneOf":[{"$ref":"#/components/schemas/Connector"},{"$ref":"#/components/schemas/Contacts"}]},"meta":{"$ref":"#/components/schemas/Meta"},"reference":{"$ref":"#/components/schemas/Reference"},"parts":{"$ref":"#/components/schemas/Parts"},"status":{"$ref":"#/components/schemas/Status-3"},"reason":{"type":"string"},"direction":{"$ref":"#/components/schemas/Direction"},"origin":{"$ref":"#/components/schemas/Origin"},"replyTo":{"$ref":"#/components/schemas/ReplyTo"},"lastStatusAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"details":{"description":"This field is used to store additional information related to the message status.\n","type":"string"},"failure":{"$ref":"#/components/schemas/Failure"},"tags":{"$ref":"#/components/schemas/Tags"},"shortLinks":{"$ref":"#/components/schemas/ShortLinks"},"scheduledFor":{"$ref":"#/components/schemas/ScheduledFor"}},"required":["id","channelId","sender","receiver","status","lastStatusAt","createdAt","updatedAt"]},{"anyOf":[{"type":"object","properties":{"body":{"$ref":"#/components/schemas/Body"}},"required":["body"]},{"type":"object","properties":{"template":{"$ref":"#/components/schemas/Template"}},"required":["template"]}]}]},"Id-2":{"type":"string","format":"uuid"},"ChannelId":{"type":"string","format":"uuid"},"Connector":{"type":"object","title":"ChannelConnector","additionalProperties":false,"properties":{"connector":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"identifierValue":{"type":"string"},"annotations":{"$ref":"#/components/schemas/MessageAnnotations"},"types":{"type":"array","items":{"type":"string"}}},"required":["id"]}},"required":["connector"]},"MessageAnnotations":{"type":"object","title":"MessageAnnotations","description":"Annotations are used to add additional information to a message.\nFor email messages, it can be used to specify a custom sender name.\n","additionalProperties":false,"properties":{"name":{"type":"string"}}},"Contact":{"type":"object","title":"ChannelContact","additionalProperties":false,"properties":{"contact":{"type":"object","properties":{"id":{"type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"},"countryCode":{"type":"string"},"platformAddress":{"type":"string"},"platformAddressSelector":{"type":"string"},"annotations":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"}}}},"required":["id","identifierKey","identifierValue"]}},"required":["contact"]},"Contacts":{"type":"object","title":"ChannelContacts","additionalProperties":false,"properties":{"contacts":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"},"countryCode":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"identifierKey":{"type":"string"},"identifierValue":{"type":"string"}}}},"platformAddress":{"type":"string"},"platformAddressSelector":{"type":"string","nullable":true},"annotations":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"}}}}}}},"required":["contacts"]},"Meta":{"type":"object","additionalProperties":false,"properties":{"extraInformation":{"type":"object","additionalProperties":true,"description":"Additional information about the message.\n"},"referral":{"$ref":"#/components/schemas/MessageReferral"},"order":{"$ref":"#/components/schemas/MessageOrder"},"referredProduct":{"$ref":"#/components/schemas/ReferredProduct"},"email":{"$ref":"#/components/schemas/MetaEmail"},"sms":{"$ref":"#/components/schemas/MetaSMS"},"pushNotifications":{"$ref":"#/components/schemas/MetaPushNotifications"},"navigatorId":{"$ref":"#/components/schemas/Id-2"},"navigatorMessageId":{"$ref":"#/components/schemas/Id-2"},"flow":{"$ref":"#/components/schemas/MetaFlow"},"journey":{"$ref":"#/components/schemas/MetaFlow"},"campaign":{"$ref":"#/components/schemas/MetaCampaign"}}},"MessageReferral":{"type":"object","additionalProperties":false,"properties":{"source":{"type":"string"},"title":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"group":{"type":"string","nullable":true},"metadata":{"type":"object","nullable":true,"additionalProperties":false,"properties":{"source_id":{"type":"string"},"source_url":{"type":"string","nullable":true},"media_url":{"type":"string","nullable":true},"tracking_id":{"type":"string","nullable":true}}}}},"MessageOrder":{"type":"object","additionalProperties":false,"description":"The order object contains information about the purchase order.","properties":{"products":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"externalCatalogId":{"type":"string","description":"The platform-specific catalog ID of the product."},"externalProductId":{"type":"string","description":"The platform-specific product ID."},"quantity":{"type":"integer","description":"The number of items purchased."},"price":{"type":"object","description":"The price of the product.","additionalProperties":false,"properties":{"amount":{"type":"integer"},"exponent":{"type":"integer"},"currencyCode":{"type":"string"}}}}}}}},"ReferredProduct":{"type":"object","additionalProperties":false,"description":"Referred product in an incoming message.","nullable":true,"properties":{"externalCatalogId":{"type":"string","description":"The platform-specific catalog ID of the product."},"externalProductId":{"type":"string","description":"The platform-specific product ID."}}},"MetaEmail":{"type":"object","additionalProperties":false,"properties":{"subject":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"from":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string","pattern":"[\\w\\d.-/+]+"},"displayName":{"type":"string"}}}}},"MetaSMS":{"type":"object","additionalProperties":false,"properties":{"smartEncoding":{"type":"boolean","description":"When enabled, attempts to transliterate Unicode characters to GSM-7 equivalents.\nIf the resulting text is fully GSM-7 compatible, fewer message segments may be required.\nThe original message body is preserved; transliteration is only applied when sending.\n"}}},"MetaPushNotifications":{"type":"object","additionalProperties":false,"properties":{"gatewayTypeOverride":{"type":"string","enum":["apns","firebase","web"]}}},"MetaFlow":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"stepId":{"type":"string","nullable":true},"runId":{"type":"string","format":"uuid","nullable":true}}},"MetaCampaign":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true}}},"Reference":{"type":"string","description":"A reference to the message. This can be used to identify the message in the channel.\n"},"Parts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"platformReference":{"type":"string"}}}},"Status-3":{"type":"string","enum":["accepted","rejected","processing","scheduled","sent","sending_failed","delivered","delivery_failed","deleted","skipped"]},"Direction":{"type":"string","enum":["incoming","outgoing"]},"Origin":{"type":"object","nullable":true,"additionalProperties":false,"required":["type","id"],"properties":{"type":{"type":"string","description":"origin type of message."},"id":{"type":"string","description":"origin id of message."}}},"ReplyTo":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"The ID of the message that is being replied to."},"order":{"type":"integer","description":"The order of the message in the conversation."},"type":{"type":"string","enum":["message","click","referrals"]}},"required":["id","type"]},"Failure":{"type":"object","nullable":true,"additionalProperties":false,"properties":{"code":{"type":"integer","description":"omni channel interpretation of the failure to categorise the nature of message error."},"description":{"type":"string","description":"human readable description of the error."},"source":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","description":"numerical, text or alphanumeric code that indicates the error or issue while delivering the message in the last step."},"name":{"type":"string","description":"enum representing the step where the failure occurred. Example: # \"pre-processing\", \"accounting\", \"whatsapp\", \"email-sparkpost\", etc."}}}}},"Tags":{"type":"array","description":"Tags to associate with the message. Tags are converted to lower case and tags\nthat do not exist are automatically created. You can view your created tags\nin the UI. You can specify up to 10 tags per message.\n","maxItems":10,"items":{"$ref":"#/components/schemas/Name-3"}},"Name-3":{"type":"string","pattern":"^[a-zA-Z0-9-_ ]+$","minLength":1,"maxLength":50,"description":"Tag name. Must be between 1 and 50 characters and must only contain\nalphanumeric characters, hyphens, underscores, and spaces.\n"},"ShortLinks":{"nullable":true,"type":"object","description":"SMS link shortening options. Must be included in the request for SMS channels\nwhen `enableLinkTracking` is set to true. When using templates, please refer\nto the template level `shortLinks` instead.\n","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","maxLength":128,"description":"The domain to use when shortening links. When set to `default`,\nuses the default link shortening domain for the workspace.\n"}}},"ScheduledFor":{"type":"string","format":"date-time","description":"Scheduled time to send message at. Must be formated as RFC3339 timestamp. When\nset, the message status will be `scheduled` until it's sent. Messages scheduled\nfor a time in the past or within 10 minutes of the request may be sent\nimmediately. Messages scheduled farther than 35 days will be rejected.\n"},"Body":{"type":"object","title":"MessageBody","nullable":true,"allOf":[{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/BodyTypes"}}},{"oneOf":[{"$ref":"#/components/schemas/TypeText"},{"$ref":"#/components/schemas/TypeHTML"},{"$ref":"#/components/schemas/TypeImage"},{"$ref":"#/components/schemas/TypeFile"},{"$ref":"#/components/schemas/TypeGif"},{"$ref":"#/components/schemas/TypeLocation"},{"$ref":"#/components/schemas/TypeCarousel"},{"$ref":"#/components/schemas/TypeList"},{"$ref":"#/components/schemas/TypeSection"},{"$ref":"#/components/schemas/TypeAuthentication"},{"$ref":"#/components/schemas/TypeAction"}],"discriminator":{"propertyName":"type","mapping":{"text":"#/components/schemas/TypeText","html":"#/components/schemas/TypeHTML","image":"#/components/schemas/TypeImage","file":"#/components/schemas/TypeFile","gif":"#/components/schemas/TypeGif","location":"#/components/schemas/TypeLocation","carousel":"#/components/schemas/TypeCarousel","list":"#/components/schemas/TypeList","section":"#/components/schemas/TypeSection","authentication":"#/components/schemas/TypeAuthentication","action":"#/components/schemas/TypeAction"}}}]},"BodyTypes":{"type":"string","enum":["text","html","image","file","gif","location","carousel","list","section","authentication","template","action"]},"TypeText":{"type":"object","required":["text","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string","minLength":1},"attachments":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl","filename"],"properties":{"mediaUrl":{"type":"string","format":"uri"},"filename":{"type":"string"},"inline":{"type":"boolean"},"contentId":{"type":"string"}}}},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","additionalProperties":false,"properties":{"subject":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"whatsapp":{"type":"object","additionalProperties":false,"properties":{"previewUrl":{"type":"boolean","description":"When set to `true`, preview will be displayed within whatsapp chat."}}},"line":{"type":"object","additionalProperties":false,"properties":{"emoji":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["index","productId","emojiId"],"properties":{"index":{"type":"integer"},"productId":{"type":"string"},"emojiId":{"type":"string"},"length":{"type":"integer","nullable":true,"readOnly":true}}}}}}}},"telegram":{"$ref":"#/components/schemas/MetadataTelegram"},"apple":{"$ref":"#/components/schemas/MetadataApple"}}}}}}},"Actions":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Action"}},"Action":{"allOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["link","reply","locationRequest","buy","postback"]}}},{"oneOf":[{"$ref":"#/components/schemas/ActionLink"},{"$ref":"#/components/schemas/ActionReply"},{"$ref":"#/components/schemas/ActionLocationRequest"},{"$ref":"#/components/schemas/ActionBuy"},{"$ref":"#/components/schemas/ActionPostback"}],"discriminator":{"propertyName":"type","mapping":{"link":"#/components/schemas/ActionLink","reply":"#/components/schemas/ActionReply","locationRequest":"#/components/schemas/ActionLocationRequest","buy":"#/components/schemas/ActionBuy","postback":"#/components/schemas/ActionPostback"}}}]},"ActionLink":{"type":"object","required":["link","type"],"properties":{"type":{"type":"string","enum":["link"]},"link":{"type":"object","required":["text","url"],"properties":{"text":{"type":"string"},"url":{"anyOf":[{"type":"string","pattern":"{{[^{}]+}}"},{"type":"string","format":"uri"}]}}}}},"ActionReply":{"type":"object","required":["reply","type"],"properties":{"type":{"type":"string","enum":["reply"]},"reply":{"type":"object","properties":{"text":{"type":"string"},"imageUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ActionReplyMetadata"}},"required":["text"]}}},"ActionReplyMetadata":{"type":"object","properties":{"description":{"$ref":"#/components/schemas/ActionDescription"}}},"ActionDescription":{"type":"object","description":"Sets the description in the row objects for Whatsapp list messages. Only available usage for Whatsapp platform","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":72}}},"ActionLocationRequest":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["locationRequest"]},"locationRequest":{"type":"object","nullable":true,"properties":{"text":{"type":"string","default":"Send location"}}}}},"ActionBuy":{"type":"object","required":["buy","type"],"properties":{"type":{"type":"string","enum":["buy"]},"buy":{"type":"object","properties":{"text":{"type":"string"},"amountCents":{"type":"integer"},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["text","amountCents","currency"]}}},"ActionPostback":{"type":"object","required":["postback","type"],"properties":{"type":{"type":"string","enum":["postback"]},"postback":{"type":"object","properties":{"text":{"type":"string"},"payload":{"type":"string"},"imageUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ActionPostbackMetadata"}},"required":["text"]}}},"ActionPostbackMetadata":{"type":"object","properties":{"description":{"$ref":"#/components/schemas/ActionDescription"}}},"MetadataTelegram":{"type":"object","description":"The property is specific to Telegram, indicating the markup type to be used for message formatting","additionalProperties":false,"properties":{"parseMode":{"type":"string","enum":["Markdown","MarkdownV2"]}}},"MetadataApple":{"type":"object","description":"The property is specific to Apple Business Chat, containing Apple-specific metadata","additionalProperties":false,"properties":{"summaryText":{"type":"string","description":"Summary text for Apple Business Chat messages"},"appClipPreview":{"type":"boolean","description":"Indicates if the message includes an App Clip link"},"appClipRegion":{"type":"string","description":"AppClipRegion is the ISO 3166 alpha-2 country code for the App Store region."}}},"TypeHTML":{"type":"object","required":["html","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["html"]},"html":{"type":"object","additionalProperties":false,"anyOf":[{"required":["text"]},{"required":["html"]}],"properties":{"text":{"type":"string","minLength":1},"html":{"type":"string","minLength":1},"attachments":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["mediaUrl","filename"]},{"required":["content","contentType","filename"]}],"properties":{"mediaUrl":{"type":"string","format":"uri"},"filename":{"type":"string"},"inline":{"type":"boolean"},"content":{"type":"string","minLength":1},"contentType":{"type":"string","minLength":1},"contentId":{"type":"string"}}}},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","additionalProperties":false,"properties":{"subject":{"type":"string"},"emailFrom":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string","pattern":"[\\w\\d.-/+]+"},"displayName":{"type":"string"}}},"headers":{"type":"object","additionalProperties":{"type":"string"}},"initialOpenTracking":{"type":"boolean"},"clickTracking":{"type":"boolean"},"openTracking":{"type":"boolean"}}}}}}},"TypeImage":{"type":"object","required":["image","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["image"]},"image":{"type":"object","additionalProperties":false,"required":["images"],"properties":{"text":{"type":"string"},"images":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"mediaUrl":{"type":"string","format":"uri","minLength":1},"altText":{"type":"string"}}}},"metadata":{"type":"object","properties":{"subject":{"type":"string","description":"The property is specific mms file, shows the subject of the mms."},"fallbackText":{"type":"string","description":"The property is specific mms file, when a mms is not supported, it will fallback to show content with the fallbackText."},"storyType":{"type":"string","description":"The property is specific instagram file, shows the story type."},"telegram":{"$ref":"#/components/schemas/MetadataTelegram"}}},"actions":{"$ref":"#/components/schemas/Actions"}}}}},"TypeFile":{"type":"object","required":["file","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","additionalProperties":false,"required":["files"],"properties":{"text":{"type":"string"},"files":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl","contentType"],"properties":{"mediaUrl":{"type":"string","format":"uri","minLength":1},"contentType":{"type":"string","minLength":1},"filename":{"type":"string"},"altText":{"type":"string"},"metadata":{"type":"object","properties":{"isAnimated":{"type":"boolean","description":"The property is specific the sticker file, shows that if the sticker is animated or not."}}}}}},"metadata":{"type":"object","properties":{"subject":{"type":"string","description":"The property is specific mms file, shows the subject of the mms."},"fallbackText":{"type":"string","description":"The property is specific mms file, when a mms is not supported, it will fallback to show content with the fallbackText."},"storyType":{"type":"string","description":"The property is specific instagram file, shows the story type."},"telegram":{"$ref":"#/components/schemas/MetadataTelegram"}}},"actions":{"$ref":"#/components/schemas/Actions"}}}}},"TypeGif":{"type":"object","required":["gif","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["gif"]},"gif":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"text":{"type":"string"},"mediaUrl":{"type":"string","format":"uri","minLength":1},"altText":{"type":"string"},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","properties":{"telegram":{"$ref":"#/components/schemas/MetadataTelegram"}}}}}}},"TypeLocation":{"type":"object","required":["location","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["location"]},"location":{"type":"object","additionalProperties":false,"required":["coordinates"],"properties":{"coordinates":{"type":"object","additionalProperties":false,"properties":{"latitude":{"type":"number","format":"float","minimum":-90,"maximum":90},"longitude":{"type":"number","format":"float","minimum":-180,"maximum":180}}},"location":{"type":"object","additionalProperties":false,"properties":{"address":{"type":"string"},"label":{"type":"string"}}}}}}},"TypeCarousel":{"type":"object","required":["carousel","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["carousel"]},"carousel":{"type":"object","additionalProperties":false,"required":["items"],"properties":{"text":{"type":"string","description":"Optional text displayed above the carousel cards","maxLength":1024},"items":{"$ref":"#/components/schemas/Items"}}}}},"Items":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string"},"mediaUrl":{"type":"string","format":"uri","nullable":true},"description":{"type":"string"},"altText":{"type":"string"},"actions":{"$ref":"#/components/schemas/Actions"}}}},"TypeList":{"type":"object","required":["list","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["list"]},"list":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string"},"text":{"type":"string"},"altText":{"type":"string"},"items":{"$ref":"#/components/schemas/Items"},"actions":{"$ref":"#/components/schemas/Actions"},"metadata":{"type":"object","properties":{"button":{"type":"object","description":"Sets a button name for whatsapp list messages. Only available usage for Whatsapp platform","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":20}}},"replyMessage":{"type":"object","description":"Sets the reply message to be used when a list item is picked. Used for Apple Business Chat.","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":512},"text":{"type":"string","maxLength":512}}}}}},"required":["text"]}}},"TypeSection":{"type":"object","required":["section","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["section"]},"section":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"minLength":1,"$ref":"#/components/schemas/SectionBody"}},"configurations":{"type":"object","additionalProperties":{"type":"string"}}}}}},"SectionBody":{"type":"object","title":"MessageBody","allOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","image","file","gif","location","carousel","list","section"]}}},{"oneOf":[{"$ref":"#/components/schemas/TypeText"},{"$ref":"#/components/schemas/TypeImage"},{"$ref":"#/components/schemas/TypeFile"},{"$ref":"#/components/schemas/TypeGif"},{"$ref":"#/components/schemas/TypeLocation"},{"$ref":"#/components/schemas/TypeCarousel"},{"$ref":"#/components/schemas/TypeList"},{"$ref":"#/components/schemas/TypeSectionNested"}],"discriminator":{"propertyName":"type","mapping":{"text":"#/components/schemas/TypeText","image":"#/components/schemas/TypeImage","file":"#/components/schemas/TypeFile","gif":"#/components/schemas/TypeGif","location":"#/components/schemas/TypeLocation","carousel":"#/components/schemas/TypeCarousel","list":"#/components/schemas/TypeList","section":"#/components/schemas/TypeSectionNested"}}}]},"TypeSectionNested":{"type":"object","required":["section","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["section"]},"section":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"minLength":1,"$ref":"#/components/schemas/SectionBodyNested"}},"configurations":{"type":"object","properties":{"default":{"type":"string"}},"additionalProperties":{"type":"string"}}}}}},"SectionBodyNested":{"type":"object","title":"MessageBody","allOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","image","file","gif","location","carousel","list"]}}},{"oneOf":[{"$ref":"#/components/schemas/TypeText"},{"$ref":"#/components/schemas/TypeImage"},{"$ref":"#/components/schemas/TypeFile"},{"$ref":"#/components/schemas/TypeGif"},{"$ref":"#/components/schemas/TypeLocation"},{"$ref":"#/components/schemas/TypeCarousel"},{"$ref":"#/components/schemas/TypeList"}],"discriminator":{"propertyName":"type","mapping":{"text":"#/components/schemas/TypeText","image":"#/components/schemas/TypeImage","file":"#/components/schemas/TypeFile","gif":"#/components/schemas/TypeGif","location":"#/components/schemas/TypeLocation","carousel":"#/components/schemas/TypeCarousel","list":"#/components/schemas/TypeList"}}}]},"TypeAuthentication":{"type":"object","required":["authentication","type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["authentication"]},"authentication":{"type":"object","additionalProperties":false,"properties":{"otp":{"type":"object","additionalProperties":false,"required":["disclaimer"],"properties":{"disclaimer":{"type":"boolean","description":"Whether to add a security disclaimer to the authentication body.","nullable":false},"expirationTime":{"type":"integer","minimum":1,"maximum":90,"nullable":true,"description":"The number of seconds after which the authentication body will expire. If not set, no expiration notification will be sent."},"actions":{"$ref":"#/components/schemas/Actions"}}}}}}},"TypeAction":{"type":"object","required":["type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["permission_request"]},"permission_request":{"type":"object","required":["resource"],"properties":{"resource":{"type":"string","enum":["call"]}}}}},"Template":{"type":"object","nullable":true,"additionalProperties":false,"properties":{"name":{"type":"string","description":"The platform name of the template."},"projectId":{"type":"string","description":"the ID of the project from the project from Studio"},"version":{"type":"string","description":"The version of the template."},"locale":{"type":"string","format":"locale-bcp47"},"attachments":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["mediaUrl","filename"],"properties":{"mediaUrl":{"type":"string","format":"uri","description":"The URL of the attachment."},"filename":{"type":"string","description":"The filename of the attachment."},"inline":{"type":"boolean"}}}},"shortLinks":{"nullable":true,"type":"object","description":"SMS link shortening options.","properties":{"enabled":{"type":"boolean","description":"Enables link shortening for SMS messages."},"domain":{"type":"string","description":"The domain to use when shortening links. When set to `default`,\nuses the default link shortening domain for the workspace.\n"}}},"variables":{"nullable":true,"deprecated":true,"description":"Deprecated: Use `parameters` instead (string parameter for variables). This property is maintained for backward compatibility but will be removed in a future version.\n","type":"object","properties":{"default":{"type":"string"}},"additionalProperties":{"type":"string"}},"utmParameters":{"nullable":true,"type":"array","description":"The list of UTM parameters.","minItems":1,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["key","value"],"additionalProperties":false,"properties":{"key":{"type":"string","description":"The name of the parameter in the query string.","minLength":1,"maxLength":20},"value":{"type":"string","description":"The static value of the parameter. Mutually exclusive with Reference.","minLength":1,"maxLength":100}}},{"type":"object","required":["key","reference"],"additionalProperties":false,"properties":{"key":{"type":"string","description":"The name of the parameter in the query string.","minLength":1,"maxLength":20},"reference":{"type":"string","description":"The reference to a dynamic value. Mutually exclusive with Value.","enum":["platform_name","channel_name"]}}}]}},"parameters":{"nullable":true,"type":"array","minLength":1,"items":{"$ref":"#/components/schemas/TemplateParameter"}},"settings":{"nullable":true,"type":"object","properties":{"disallowMmLite":{"type":"boolean","nullable":true,"description":"This is specific for WhatsApp marketing templates and requires MM Lite to be disabled for the WABAID.\n"}}}}},"TemplateParameter":{"oneOf":[{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["string"]},"key":{"type":"string","minLength":1},"value":{"type":"string"}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["number"]},"key":{"type":"string","minLength":1},"value":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["boolean"]},"key":{"type":"string","minLength":1},"value":{"type":"boolean"}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["object"]},"key":{"type":"string","minLength":1},"value":{"type":"object","additionalProperties":true}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["sectionList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"sections":{"$ref":"#/components/schemas/Sections"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["timeslotList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["timeslots"],"additionalProperties":false,"properties":{"timeslots":{"$ref":"#/components/schemas/Timeslots"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["productSections"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["productSections"],"additionalProperties":false,"properties":{"productSections":{"$ref":"#/components/schemas/ProductSections"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["productList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["products"],"additionalProperties":false,"properties":{"products":{"$ref":"#/components/schemas/ProductList"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["shippingMethodList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["shippingMethods"],"additionalProperties":false,"properties":{"shippingMethods":{"$ref":"#/components/schemas/AppleShippingMethods"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["lineItemList"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["lineItems"],"additionalProperties":false,"properties":{"lineItems":{"$ref":"#/components/schemas/AppleLineItems"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["whatsappProductSections"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"sections":{"$ref":"#/components/schemas/WhatsappProductSections"}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["whatsappProductItems"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["products"],"additionalProperties":false,"properties":{"products":{"type":"array","items":{"$ref":"#/components/schemas/WhatsappProductItem"}}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["carouselCards"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["cards"],"additionalProperties":false,"properties":{"cards":{"type":"array","items":{"$ref":"#/components/schemas/WhatsappCarouselCard"}}}}}},{"type":"object","additionalProperties":false,"required":["type","key"],"properties":{"type":{"type":"string","enum":["appleFormPageItems"]},"key":{"type":"string","minLength":1},"value":{"type":"object","required":["items"],"additionalProperties":false,"properties":{"items":{"$ref":"#/components/schemas/AppleFormPageItems"}}}}}]},"Sections":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["title","items"],"properties":{"id":{"type":"string","nullable":true},"multipleSelection":{"type":"boolean"},"title":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReplyAction"}}}}},"ReplyAction":{"type":"object","required":["type","replyAction"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["reply-action"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"replyAction":{"type":"object","properties":{"text":{"type":"string"},"imageUrl":{"type":"string"},"payload":{"type":"string"},"subTitle":{"type":"string"}},"required":["text"]}}},"Timeslots":{"type":"array","nullable":false,"items":{"type":"object","additionalProperties":false,"required":["startTime","duration"],"properties":{"id":{"type":"string","nullable":true},"startTime":{"type":"string","format":"date-time"},"duration":{"type":"number"}}}},"ProductSections":{"type":"array","nullable":false,"items":{"type":"object","additionalProperties":false,"required":["title","products"],"properties":{"title":{"type":"string","minLength":1,"maxLength":24},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}}}}},"Product":{"type":"object","additionalProperties":false,"required":["externalProductId"],"properties":{"externalProductId":{"type":"string"},"amount":{"type":"string"},"text":{"type":"string"}}},"ProductList":{"type":"array","nullable":false,"items":{"type":"object","additionalProperties":false,"required":["type","product"],"properties":{"type":{"type":"string","enum":["product"]},"product":{"$ref":"#/components/schemas/Product"}}}},"AppleShippingMethods":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["amount","label","identifier","detail"],"properties":{"amount":{"type":"string"},"label":{"type":"string"},"identifier":{"type":"string"},"detail":{"type":"string"}}}},"AppleLineItems":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":false,"required":["amount","text"],"properties":{"amount":{"type":"string"},"text":{"type":"string"},"type":{"type":"string","enum":["pending","final"]}}}},"WhatsappProductSections":{"type":"array","nullable":false,"items":{"$ref":"#/components/schemas/WhatsappProductSection"}},"WhatsappProductSection":{"type":"object","additionalProperties":false,"required":["type","whatsappProductSection"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["whatsapp-product-section"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"whatsappProductSection":{"type":"object","additionalProperties":false,"required":["title","products"],"properties":{"title":{"type":"string","minLength":1,"maxLength":24},"products":{"type":"array","items":{"$ref":"#/components/schemas/WhatsappProductItem"}}}}}},"WhatsappProductItem":{"type":"object","additionalProperties":false,"required":["type","whatsappProductItem"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["whatsapp-product-item"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"whatsappProductItem":{"type":"object","additionalProperties":false,"required":["externalProductId"],"properties":{"externalProductId":{"type":"string"}}}}},"WhatsappCarouselCard":{"type":"object","additionalProperties":false,"required":["type","whatsappCarouselCard"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["whatsapp-carousel-card"]},"reference":{"type":"string"},"role":{"type":"string"},"hidden":{"type":"boolean"},"whatsappCarouselCard":{"type":"object","additionalProperties":false,"required":["header","body","actions"],"properties":{"header":{"oneOf":[{"type":"object","additionalProperties":false,"required":["type","image"],"properties":{"type":{"type":"string","enum":["image"]},"image":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"mediaUrl":{"type":"string"},"altText":{"type":"string"}}}}},{"type":"object","additionalProperties":false,"required":["type","file"],"properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","additionalProperties":false,"required":["mediaUrl"],"properties":{"mediaUrl":{"type":"string"},"contentType":{"type":"string"}}}}}]},"body":{"type":"object","additionalProperties":false,"required":["type","text"],"properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string"}}}}},"actions":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["type","linkAction"],"properties":{"type":{"type":"string","enum":["link-action"]},"linkAction":{"type":"object","additionalProperties":false,"required":["text","url"],"properties":{"text":{"type":"string"},"url":{"type":"string"}}}}},"minItems":1,"maxItems":1,"description":"Session carousels only support one link action per card."}}}}},"AppleFormPageItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["identifier","title","value"],"properties":{"identifier":{"type":"string","description":"Unique identifier for the item"},"title":{"type":"string","description":"Display text shown to the user"},"value":{"type":"string","description":"Value submitted when the item is selected"},"imageUrl":{"type":"string","nullable":true,"description":"Optional URL of an image to display alongside the item title"},"nextPageIdentifier":{"type":"string","nullable":true,"description":"Identifier of the next page to navigate to when this item is selected"}}}},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/channels/{channelId}/messages/{messageId}":{"get":{"summary":"Get message by message ID","operationId":"getChannelMessage","description":"Get a channel message","tags":["channel_message"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

## Create a Customize Navigator&#x20;

If you want to limit the selection of channels a navigator can access, you can create a customized one.&#x20;

## Create navigator for the workspace.

> Create a new navigator for the workspace.

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"Navigator":{"type":"object","title":"Navigator","additionalProperties":false,"properties":{"navigatorId":{"$ref":"#/components/schemas/Id-3"},"workspaceId":{"$ref":"#/components/schemas/Id-3"},"name":{"$ref":"#/components/schemas/Name-2"},"type":{"$ref":"#/components/schemas/Type"},"settings":{"oneOf":[{"$ref":"#/components/schemas/MessagingNavigatorSettings"},{"$ref":"#/components/schemas/UseCaseMessagingNavigatorSettings"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["navigatorId","workspaceId","name","settings","type","createdAt"]},"Id-3":{"type":"string","description":"The unique identifier of the navigator.","format":"uuid"},"Name-2":{"type":"string","description":"The name of the navigator.","minLength":1,"maxLength":100},"Type":{"type":"string","description":"The type of navigator defines how the navigator selects a channel for a message. * messaging - navigator configured with a pool of channels and performs channel selection based on channel availability and best originator type for a recipient country. The best originator type for a recipient country is determined by the strategy - prioritized list of originator types for each country. At this moment, the default pre-configured strategy (set of country policies) is used see https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choosing-the-right-sender-availability-and-restrictions-by-country","enum":["messaging","use-case-messaging","otp"]},"MessagingNavigatorSettings":{"title":"MessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"channels":{"description":"List of channel IDs to be used","type":"array","minItems":1,"items":{"type":"object","properties":{"channelId":{"$ref":"#/components/schemas/Id-3"}}}}},"required":["channels"]},"UseCaseMessagingNavigatorSettings":{"title":"ConditionalMessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"useCaseType":{"$ref":"#/components/schemas/UseCaseType"},"ottChannelsIds":{"type":"object","properties":{"whatsapp":{"description":"Channel for WA","type":"string","nullable":true},"rcs":{"description":"Channel for RCS","type":"string","nullable":true}}}},"required":["useCaseType"]},"UseCaseType":{"type":"string","enum":["otp","transactional","marketing","conversation"]},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]},"ValidationError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"},"details":{"type":"object","description":"Additional details about the error. This object can contain any additional information that may be useful for debugging.\n","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["code","message"]},"CreateNavigator":{"type":"object","title":"CreateNavigator","additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/Name-2"},"type":{"$ref":"#/components/schemas/TypeCreate"},"settings":{"oneOf":[{"$ref":"#/components/schemas/MessagingNavigatorSettings"}]}},"required":["name","type","settings"]},"TypeCreate":{"type":"string","description":"The type of navigator defines how the navigator selects a channel for a message. * messaging - navigator configured with a pool of channels and performs channel selection based on channel availability and best originator type for a recipient country. The best originator type for a recipient country is determined by the strategy - prioritized list of originator types for each country. At this moment, the default pre-configured strategy (set of country policies) is used see https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choosing-the-right-sender-availability-and-restrictions-by-country","enum":["messaging"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}},"validationError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}}},"paths":{"/workspaces/{workspaceId}/navigators":{"post":{"summary":"Create navigator for the workspace.","operationId":"createWorkspaceNavigator","description":"Create a new navigator for the workspace.","tags":["channel"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Navigator"}}}},"404":{"$ref":"#/components/responses/requestError"},"409":{"$ref":"#/components/responses/requestError"},"422":{"$ref":"#/components/responses/validationError"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNavigator"}}}}}}}}
```

## Update a Navigator

You can add or remove channels from a navigator &#x20;

## Update a navigator by ID

> Update a navigator by ID

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}},"schemas":{"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]},"UpdateNavigator":{"type":"object","title":"UpdateNavigator","additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/Name-2"},"type":{"$ref":"#/components/schemas/Type"},"settings":{"oneOf":[{"$ref":"#/components/schemas/MessagingNavigatorSettings"},{"$ref":"#/components/schemas/UseCaseMessagingNavigatorSettings"}]}},"required":["name","type"]},"Name-2":{"type":"string","description":"The name of the navigator.","minLength":1,"maxLength":100},"Type":{"type":"string","description":"The type of navigator defines how the navigator selects a channel for a message. * messaging - navigator configured with a pool of channels and performs channel selection based on channel availability and best originator type for a recipient country. The best originator type for a recipient country is determined by the strategy - prioritized list of originator types for each country. At this moment, the default pre-configured strategy (set of country policies) is used see https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choosing-the-right-sender-availability-and-restrictions-by-country","enum":["messaging","use-case-messaging","otp"]},"MessagingNavigatorSettings":{"title":"MessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"channels":{"description":"List of channel IDs to be used","type":"array","minItems":1,"items":{"type":"object","properties":{"channelId":{"$ref":"#/components/schemas/Id-3"}}}}},"required":["channels"]},"Id-3":{"type":"string","description":"The unique identifier of the navigator.","format":"uuid"},"UseCaseMessagingNavigatorSettings":{"title":"ConditionalMessagingNavigatorSettings","type":"object","additionalProperties":false,"properties":{"useCaseType":{"$ref":"#/components/schemas/UseCaseType"},"ottChannelsIds":{"type":"object","properties":{"whatsapp":{"description":"Channel for WA","type":"string","nullable":true},"rcs":{"description":"Channel for RCS","type":"string","nullable":true}}}},"required":["useCaseType"]},"UseCaseType":{"type":"string","enum":["otp","transactional","marketing","conversation"]}}},"paths":{"/workspaces/{workspaceId}/navigators/{navigatorId}":{"patch":{"summary":"Update a navigator by ID","operationId":"updateNavigator","description":"Update a navigator by ID","tags":["channel"],"responses":{"204":{"description":"OK"},"404":{"$ref":"#/components/responses/requestError"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNavigator"}}}}}}}}
```

### Delete a Navigator

## Delete navigator by ID

> Delete the navigator by ID

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}},"schemas":{"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}}},"paths":{"/workspaces/{workspaceId}/navigators/{navigatorId}":{"delete":{"summary":"Delete navigator by ID","operationId":"deleteNavigatorByID","description":"Delete the navigator by ID","tags":["channel"],"responses":{"204":{"description":"OK"},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

### Check Logs & Insight

You can check SMS and Log insight separately via the relevant SMS and WhatsApp tabs in our developer view, you can also use the dedicated Navigator logs, which does allow the tracking of attempts and fallbacks&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe9sboPCSwcPlrd2RPptoiGAl1lDMVe42TrSSvD4XUeCNAmQu7_7Wws7JtHfUVm58hfrm1N9QWvaxRdWMv_dT1H5ehjHanekqFEwgy0N9dJOzRSgsmX0mmQgmMCHfJjAgZqt3qPuQ?key=XXEWkhXxdceMCD2pmFtq3Vtu)

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/channels-api/api-reference/navigators.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
