# Programmable Push Notifications

## Sending push notifications

In order to send a push notification, you must have an active Push Notifications channel installed in your workspace with valid credentials for the gateway(s) you intend to use (Firebase Cloud Messaging for Android, APNs for iOS, or VAPID for Web Push). Send a push by performing an HTTP request to the channel's messages endpoint with a valid access key.

### Send a message

## Send a message

> Send a message to a channel

```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","scheme":"AccessKey","type":"http"}},"schemas":{"CreateMessage":{"allOf":[{"type":"object","title":"CreateChannelMessage","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"},"meta":{"$ref":"#/components/schemas/Meta"},"replyTo":{"$ref":"#/components/schemas/ReplyTo"},"body":{"$ref":"#/components/schemas/Body"},"notification":{"$ref":"#/components/schemas/ChannelNotification"},"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, UTM parameters will be appended to the links in the message.\nFor SMS channels, the `shortLinks` property must also be included in the request to enable link tracking.\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/MessageTags"},"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"]}]}]},"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."}}}}},"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"}}}},"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":{"type":"string","format":"uuid"},"navigatorMessageId":{"type":"string","format":"uuid"},"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."}}},"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}}},"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"]}}}}},"ChannelNotification":{"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"}}},"MessageTags":{"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/TagName"}},"TagName":{"type":"string","title":"TagName","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."},"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},"channels.messages.message":{"properties":{"body":{"$ref":"#/components/schemas/channels.messages.body.body"},"bodyId":{"format":"uuid","type":"string"},"bodyStorage":{"$ref":"#/components/schemas/channels.messages.body_storage"},"channelId":{"format":"uuid","type":"string"},"chargeableUnits":{"format":"uint32","type":"integer"},"context":{"$ref":"#/components/schemas/channels.messages.context"},"createdAt":{"format":"date-time","type":"string"},"details":{"description":"This field is used to store additional information related to the message status.","type":"string"},"direction":{"$ref":"#/components/schemas/channels.messages.direction"},"failure":{"$ref":"#/components/schemas/channels.messages.failure"},"id":{"format":"uuid","type":"string"},"ignorePersistedEventhooks":{"type":"boolean"},"lastStatusAt":{"format":"date-time","type":"string"},"meta":{"$ref":"#/components/schemas/channels.messages.metadata"},"parts":{"items":{"$ref":"#/components/schemas/channels.messages.part"},"type":"array"},"platformId":{"type":"string"},"platformReferenceId":{"type":"string"},"previousMessages":{"items":{"$ref":"#/components/schemas/channels.messages.previous_message"},"type":"array"},"reason":{"type":"string"},"receiver":{"$ref":"#/components/schemas/channels.participants.receiver"},"reference":{"description":"A reference to the message. This can be used to identify the message in the channel.","type":"string"},"replyTo":{"$ref":"#/components/schemas/channels.messages.reply_to"},"schedule":{"$ref":"#/components/schemas/channels.messages.schedule"},"scheduledFor":{"description":"Scheduled message send time (RFC3339). Messages scheduled within 10 minutes may be sent immediately; messages scheduled more than 35 days out will be rejected.","format":"date-time","type":"string"},"sendAt":{"format":"date-time","type":"string"},"sender":{"$ref":"#/components/schemas/channels.participants.sender"},"shortLinks":{"$ref":"#/components/schemas/channels.messages.message_short_links"},"status":{"$ref":"#/components/schemas/channels.messages.status"},"tagIds":{"items":{"format":"uuid","type":"string"},"type":"array"},"tags":{"description":"Tags to associate with the message. Tags are converted to lower case and automatically created if they don't exist. Up to 10 tags per message.","items":{"description":"Tags to associate with the message. Tags are converted to lower case and automatically created if they don't exist. Up to 10 tags per message.","type":"string"},"type":"array"},"template":{"$ref":"#/components/schemas/channels.messages.template"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","channelId","sender","receiver","status","lastStatusAt","createdAt","updatedAt"],"title":"ChannelMessage","type":"object"},"channels.messages.body.body":{"discriminator":{"mapping":{"action":"#/components/schemas/channels.messages.body.body__variant__action","authentication":"#/components/schemas/channels.messages.body.body__variant__authentication","carousel":"#/components/schemas/channels.messages.body.body__variant__carousel","file":"#/components/schemas/channels.messages.body.body__variant__file","gif":"#/components/schemas/channels.messages.body.body__variant__gif","html":"#/components/schemas/channels.messages.body.body__variant__html","image":"#/components/schemas/channels.messages.body.body__variant__image","list":"#/components/schemas/channels.messages.body.body__variant__list","location":"#/components/schemas/channels.messages.body.body__variant__location","section":"#/components/schemas/channels.messages.body.body__variant__section","text":"#/components/schemas/channels.messages.body.body__variant__text"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/channels.messages.body.body__variant__text"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__html"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__image"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__gif"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__file"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__location"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__carousel"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__list"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__section"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__authentication"},{"$ref":"#/components/schemas/channels.messages.body.body__variant__action"}],"title":"Message Body"},"channels.messages.body.body__variant__text":{"properties":{"text":{"$ref":"#/components/schemas/channels.messages.body.text"},"type":{"enum":["text"],"type":"string"}},"required":["text","type"],"type":"object"},"channels.messages.body.text":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"attachments":{"items":{"$ref":"#/components/schemas/channels.messages.body.text_attachment"},"type":"array"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.text"},"text":{"type":"string"}},"required":["text"],"type":"object"},"channels.messages.actions.action":{"discriminator":{"mapping":{"buy":"#/components/schemas/channels.messages.actions.action__variant__buy","link":"#/components/schemas/channels.messages.actions.action__variant__link","locationRequest":"#/components/schemas/channels.messages.actions.action__variant__locationRequest","postback":"#/components/schemas/channels.messages.actions.action__variant__postback","reply":"#/components/schemas/channels.messages.actions.action__variant__reply"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/channels.messages.actions.action__variant__link"},{"$ref":"#/components/schemas/channels.messages.actions.action__variant__reply"},{"$ref":"#/components/schemas/channels.messages.actions.action__variant__locationRequest"},{"$ref":"#/components/schemas/channels.messages.actions.action__variant__buy"},{"$ref":"#/components/schemas/channels.messages.actions.action__variant__postback"}]},"channels.messages.actions.action__variant__link":{"properties":{"link":{"$ref":"#/components/schemas/channels.messages.actions.link"},"type":{"enum":["link"],"type":"string"}},"required":["link","type"],"type":"object"},"channels.messages.actions.link":{"properties":{"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.action_link"},"text":{"type":"string"},"url":{"type":"string"}},"required":["text","url"],"type":"object"},"channels.messages.metadata.action_link":{"properties":{"description":{"$ref":"#/components/schemas/channels.messages.metadata.action_description"}},"type":"object"},"channels.messages.metadata.action_description":{"properties":{"label":{"type":"string"}},"required":["label"],"type":"object"},"channels.messages.actions.action__variant__reply":{"properties":{"reply":{"$ref":"#/components/schemas/channels.messages.actions.reply"},"type":{"enum":["reply"],"type":"string"}},"required":["reply","type"],"type":"object"},"channels.messages.actions.reply":{"properties":{"imageUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.action_reply"},"text":{"type":"string"}},"required":["text"],"type":"object"},"channels.messages.metadata.action_reply":{"properties":{"description":{"$ref":"#/components/schemas/channels.messages.metadata.action_description"}},"type":"object"},"channels.messages.actions.action__variant__locationRequest":{"properties":{"locationRequest":{"$ref":"#/components/schemas/channels.messages.actions.location_request"},"type":{"enum":["locationRequest"],"type":"string"}},"required":["type"],"type":"object"},"channels.messages.actions.location_request":{"properties":{"text":{"type":"string"}},"type":"object"},"channels.messages.actions.action__variant__buy":{"properties":{"buy":{"$ref":"#/components/schemas/channels.messages.actions.buy"},"type":{"enum":["buy"],"type":"string"}},"required":["buy","type"],"type":"object"},"channels.messages.actions.buy":{"properties":{"amountCents":{"format":"int64","type":"integer"},"currency":{"type":"string"},"text":{"type":"string"}},"required":["text","amountCents","currency"],"type":"object"},"channels.messages.actions.action__variant__postback":{"properties":{"postback":{"$ref":"#/components/schemas/channels.messages.actions.postback"},"type":{"enum":["postback"],"type":"string"}},"required":["postback","type"],"type":"object"},"channels.messages.actions.postback":{"properties":{"handshake":{"$ref":"#/components/schemas/channels.messages.actions.postback_handshake"},"imageUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.action_postback"},"otpType":{"type":"string"},"payload":{"type":"string"},"text":{"type":"string"}},"required":["text"],"type":"object"},"channels.messages.actions.postback_handshake":{"properties":{"packageName":{"type":"string"},"signatureHash":{"type":"string"},"supportedApps":{"items":{"$ref":"#/components/schemas/channels.messages.actions.postback_handshake_supported_app"},"type":"array"},"text":{"type":"string"},"zeroTapTermsAccepted":{"type":"boolean"}},"required":["text","packageName","signatureHash","zeroTapTermsAccepted"],"type":"object"},"channels.messages.actions.postback_handshake_supported_app":{"properties":{"packageName":{"type":"string"},"signatureHash":{"type":"string"}},"required":["packageName","signatureHash"],"type":"object"},"channels.messages.metadata.action_postback":{"properties":{"description":{"$ref":"#/components/schemas/channels.messages.metadata.action_description"}},"type":"object"},"channels.messages.body.text_attachment":{"properties":{"content":{"type":"string"},"contentId":{"type":"string"},"contentType":{"type":"string"},"filename":{"type":"string"},"inline":{"type":"boolean"},"mediaUrl":{"type":"string"}},"required":["mediaUrl","filename"],"type":"object"},"channels.messages.metadata.text":{"properties":{"apple":{"$ref":"#/components/schemas/channels.messages.metadata.text_apple"},"headers":{"additionalProperties":{"type":"string"},"type":"object"},"line":{"$ref":"#/components/schemas/channels.messages.metadata.text_line"},"paymentDetails":{"$ref":"#/components/schemas/channels.messages.metadata.text_payment_details"},"subject":{"type":"string"},"telegram":{"$ref":"#/components/schemas/channels.messages.metadata.text_telegram"},"whatsapp":{"$ref":"#/components/schemas/channels.messages.metadata.text_whatsapp"}},"type":"object"},"channels.messages.metadata.text_apple":{"properties":{"appClipPreview":{"type":"boolean"},"appClipRegion":{"type":"string"},"summaryText":{"type":"string"}},"type":"object"},"channels.messages.metadata.text_line":{"properties":{"emoji":{"$ref":"#/components/schemas/channels.messages.metadata.text_line_emoji"}},"type":"object"},"channels.messages.metadata.text_line_emoji":{"properties":{"items":{"items":{"$ref":"#/components/schemas/channels.messages.metadata.text_line_emoji_item"},"type":"array"}},"type":"object"},"channels.messages.metadata.text_line_emoji_item":{"properties":{"emojiId":{"type":"string"},"index":{"format":"uint32","type":"integer"},"length":{"format":"uint32","type":"integer"},"productId":{"type":"string"}},"required":["index","productId","emojiId"],"type":"object"},"channels.messages.metadata.text_payment_details":{"properties":{"amount":{"type":"string"},"currency":{"type":"string"},"sessionIdentifier":{"type":"string"},"state":{"type":"string"}},"required":["amount","state","currency"],"type":"object"},"channels.messages.metadata.text_telegram":{"properties":{"parseMode":{"type":"string"}},"type":"object"},"channels.messages.metadata.text_whatsapp":{"properties":{"callPermissionExpiration":{"format":"date-time","type":"string"},"callPermissionResponse":{"$ref":"#/components/schemas/channels.messages.metadata.text_whatsapp_call_permission_response"},"previewUrl":{"type":"boolean"}},"required":["previewUrl"],"type":"object"},"channels.messages.metadata.text_whatsapp_call_permission_response":{"enum":["accept","reject"],"type":"string"},"channels.messages.body.body__variant__html":{"properties":{"html":{"$ref":"#/components/schemas/channels.messages.body.html"},"type":{"enum":["html"],"type":"string"}},"required":["html","type"],"type":"object"},"channels.messages.body.html":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"attachments":{"items":{"$ref":"#/components/schemas/channels.messages.body.html_attachment"},"type":"array"},"html":{"type":"string"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.html"},"text":{"type":"string"}},"type":"object"},"channels.messages.body.html_attachment":{"properties":{"content":{"type":"string"},"contentId":{"type":"string"},"contentType":{"type":"string"},"filename":{"type":"string"},"inline":{"type":"boolean"},"mediaUrl":{"type":"string"}},"required":["filename"],"type":"object"},"channels.messages.metadata.html":{"properties":{"clickTracking":{"type":"boolean"},"from":{"$ref":"#/components/schemas/channels.messages.metadata.email_from"},"headers":{"additionalProperties":{"type":"string"},"type":"object"},"initialOpenTracking":{"type":"boolean"},"openTracking":{"type":"boolean"},"subject":{"type":"string"}},"type":"object"},"channels.messages.metadata.email_from":{"properties":{"displayName":{"type":"string"},"username":{"type":"string"}},"type":"object"},"channels.messages.body.body__variant__image":{"properties":{"image":{"$ref":"#/components/schemas/channels.messages.body.images"},"type":{"enum":["image"],"type":"string"}},"required":["image","type"],"type":"object"},"channels.messages.body.images":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"images":{"items":{"$ref":"#/components/schemas/channels.messages.body.image"},"type":"array"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.images"},"text":{"type":"string"}},"required":["images"],"type":"object"},"channels.messages.body.image":{"properties":{"altText":{"type":"string"},"mediaPreviewUrl":{"type":"string"},"mediaUrl":{"type":"string"}},"required":["mediaUrl"],"type":"object"},"channels.messages.metadata.images":{"properties":{"fallbackText":{"type":"string"},"storyType":{"$ref":"#/components/schemas/channels.messages.metadata.story_type"},"subject":{"type":"string"},"telegram":{"$ref":"#/components/schemas/channels.messages.metadata.images_telegram"}},"type":"object"},"channels.messages.metadata.story_type":{"enum":["mention","reply"],"type":"string"},"channels.messages.metadata.images_telegram":{"properties":{"parseMode":{"type":"string"}},"type":"object"},"channels.messages.body.body__variant__gif":{"properties":{"gif":{"$ref":"#/components/schemas/channels.messages.body.gif"},"type":{"enum":["gif"],"type":"string"}},"required":["gif","type"],"type":"object"},"channels.messages.body.gif":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"altText":{"type":"string"},"mediaUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.gif"},"text":{"type":"string"}},"required":["mediaUrl"],"type":"object"},"channels.messages.metadata.gif":{"properties":{"telegram":{"$ref":"#/components/schemas/channels.messages.metadata.gif_telegram"}},"type":"object"},"channels.messages.metadata.gif_telegram":{"properties":{"parseMode":{"type":"string"}},"type":"object"},"channels.messages.body.body__variant__file":{"properties":{"file":{"$ref":"#/components/schemas/channels.messages.body.files"},"type":{"enum":["file"],"type":"string"}},"required":["file","type"],"type":"object"},"channels.messages.body.files":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"files":{"items":{"$ref":"#/components/schemas/channels.messages.body.file"},"type":"array"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.files"},"text":{"type":"string"}},"required":["files"],"type":"object"},"channels.messages.body.file":{"properties":{"altText":{"type":"string"},"contentType":{"type":"string"},"filename":{"type":"string"},"mediaUrl":{"type":"string"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.file"}},"required":["contentType","mediaUrl"],"type":"object"},"channels.messages.metadata.file":{"properties":{"isAnimated":{"type":"boolean"}},"type":"object"},"channels.messages.metadata.files":{"properties":{"fallbackText":{"type":"string"},"storyType":{"$ref":"#/components/schemas/channels.messages.metadata.story_type"},"subject":{"type":"string"},"telegram":{"$ref":"#/components/schemas/channels.messages.metadata.files_telegram"}},"type":"object"},"channels.messages.metadata.files_telegram":{"properties":{"parseMode":{"type":"string"}},"type":"object"},"channels.messages.body.body__variant__location":{"properties":{"location":{"$ref":"#/components/schemas/channels.messages.body.location"},"type":{"enum":["location"],"type":"string"}},"required":["location","type"],"type":"object"},"channels.messages.body.location":{"properties":{"coordinates":{"$ref":"#/components/schemas/channels.messages.body.location_coordinates"},"location":{"$ref":"#/components/schemas/channels.messages.body.location_location"}},"required":["coordinates","location"],"type":"object"},"channels.messages.body.location_coordinates":{"properties":{"latitude":{"format":"double","type":"number"},"longitude":{"format":"double","type":"number"}},"required":["latitude","longitude"],"type":"object"},"channels.messages.body.location_location":{"properties":{"address":{"type":"string"},"label":{"type":"string"}},"required":["address","label"],"type":"object"},"channels.messages.body.body__variant__carousel":{"properties":{"carousel":{"$ref":"#/components/schemas/channels.messages.body.carousel"},"type":{"enum":["carousel"],"type":"string"}},"required":["carousel","type"],"type":"object"},"channels.messages.body.carousel":{"properties":{"items":{"items":{"$ref":"#/components/schemas/channels.messages.body.item"},"type":"array"},"text":{"description":"Optional text displayed above the carousel cards.","type":"string"}},"type":"object"},"channels.messages.body.item":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"altText":{"type":"string"},"description":{"type":"string"},"mediaUrl":{"type":"string"},"size":{"format":"int64","type":"integer"},"title":{"type":"string"}},"type":"object"},"channels.messages.body.body__variant__list":{"properties":{"list":{"$ref":"#/components/schemas/channels.messages.body.list"},"type":{"enum":["list"],"type":"string"}},"required":["list","type"],"type":"object"},"channels.messages.body.list":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"altText":{"type":"string"},"items":{"items":{"$ref":"#/components/schemas/channels.messages.body.item"},"type":"array"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.list"},"text":{"type":"string"},"title":{"type":"string"}},"type":"object"},"channels.messages.metadata.list":{"properties":{"button":{"$ref":"#/components/schemas/channels.messages.metadata.action_list_button"},"replyMessage":{"$ref":"#/components/schemas/channels.messages.metadata.action_list_reply_message"}},"type":"object"},"channels.messages.metadata.action_list_button":{"properties":{"label":{"type":"string"}},"required":["label"],"type":"object"},"channels.messages.metadata.action_list_reply_message":{"properties":{"text":{"type":"string"},"title":{"type":"string"}},"required":["title","text"],"type":"object"},"channels.messages.body.body__variant__section":{"properties":{"section":{"$ref":"#/components/schemas/channels.messages.body.section"},"type":{"enum":["section"],"type":"string"}},"required":["section","type"],"type":"object"},"channels.messages.body.section":{"properties":{"configurations":{"additionalProperties":{"type":"string"},"type":"object"},"items":{"items":{"$ref":"#/components/schemas/channels.messages.body.body"},"type":"array"}},"title":"Message Body Section","type":"object"},"channels.messages.body.body__variant__authentication":{"properties":{"authentication":{"$ref":"#/components/schemas/channels.messages.body.authentication"},"type":{"enum":["authentication"],"type":"string"}},"required":["authentication","type"],"type":"object"},"channels.messages.body.authentication":{"properties":{"otp":{"$ref":"#/components/schemas/channels.messages.body.authentication_otp"}},"type":"object"},"channels.messages.body.authentication_otp":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/channels.messages.actions.action"},"type":"array"},"disclaimer":{"description":"Whether to add a security disclaimer to the authentication body.","type":"boolean"},"expirationTime":{"description":"The number of seconds after which the authentication code expires. If not set, no expiration notification is sent.","format":"uint32","type":"integer"}},"required":["disclaimer"],"type":"object"},"channels.messages.body.body__variant__action":{"properties":{"action":{"$ref":"#/components/schemas/channels.messages.body.action"},"type":{"enum":["action"],"type":"string"}},"required":["action","type"],"type":"object"},"channels.messages.body.action":{"allOf":[{"properties":{"action":{"$ref":"#/components/schemas/channels.messages.body.action_type"}},"required":["action"],"type":"object"},{"oneOf":[{"properties":{"permissionRequest":{"$ref":"#/components/schemas/channels.messages.body.action_permission_request"}},"required":["permissionRequest"],"type":"object"}]}]},"channels.messages.body.action_type":{"enum":["permissionRequest"],"type":"string"},"channels.messages.body.action_permission_request":{"properties":{"resource":{"$ref":"#/components/schemas/channels.messages.body.permission_resource"}},"required":["resource"],"type":"object"},"channels.messages.body.permission_resource":{"enum":["call"],"type":"string"},"channels.messages.body_storage":{"allOf":[{"properties":{"type":{"$ref":"#/components/schemas/channels.messages.body_storage_type"}},"required":["type"],"type":"object"},{"oneOf":[{"properties":{"s3":{"$ref":"#/components/schemas/channels.messages.body_storage_s3"}},"required":["s3"],"type":"object"}]}]},"channels.messages.body_storage_type":{"enum":["s3"],"type":"string"},"channels.messages.body_storage_s3":{"properties":{"bucketArn":{"type":"string"},"encryptionKey":{"type":"string"},"key":{"type":"string"}},"required":["bucketArn","key","encryptionKey"],"type":"object"},"channels.messages.context":{"properties":{"id":{"type":"string"},"tagIds":{"items":{"format":"uuid","type":"string"},"type":"array"},"type":{"type":"string"}},"type":"object"},"channels.messages.direction":{"enum":["incoming","outgoing"],"type":"string"},"channels.messages.failure":{"properties":{"code":{"description":"omni channel interpretation of the failure to categorise the nature of message error","format":"int32","type":"integer"},"description":{"description":"human readable description of the error","type":"string"},"source":{"$ref":"#/components/schemas/channels.messages.failure_source"}},"type":"object"},"channels.messages.failure_source":{"properties":{"code":{"description":"numerical, text or alphanumeric code that indicates the error or issue while delivering the message in the last step","type":"string"},"name":{"$ref":"#/components/schemas/channels.messages.failure_source_name"}},"type":"object"},"channels.messages.failure_source_name":{"enum":["pre-processing","accounting","contact","touchpoint","sms-messagebird","sms-twilio","email-messagebird","whatsapp","facebook","instagram","line","telegram","apple-business-chat","viber","chat","google-business-messages","voice","smtp-messagebird","rcs-google","service"],"type":"string"},"channels.messages.metadata":{"properties":{"campaign":{"$ref":"#/components/schemas/channels.messages.metadata.campaign"},"campaignId":{"format":"uuid","type":"string"},"chargeOnceDelivered":{"type":"boolean"},"email":{"$ref":"#/components/schemas/channels.messages.metadata.meta_email"},"extraInformation":{"additionalProperties":{"type":"string"},"type":"object"},"flow":{"$ref":"#/components/schemas/channels.messages.metadata.flow"},"formResponse":{"$ref":"#/components/schemas/channels.messages.metadata.form_response"},"ignoreGlobalHoldout":{"type":"boolean"},"ignoreQuietHours":{"type":"boolean"},"journey":{"$ref":"#/components/schemas/channels.messages.metadata.flow"},"longToShortLinks":{"additionalProperties":{"type":"string"},"type":"object"},"metaThreadId":{"type":"string"},"navigatorId":{"format":"uuid","type":"string"},"navigatorMessageId":{"format":"uuid","type":"string"},"order":{"$ref":"#/components/schemas/channels.messages.metadata.order"},"pushNotifications":{"$ref":"#/components/schemas/channels.messages.metadata.push_notifications"},"referral":{"$ref":"#/components/schemas/channels.messages.referral"},"referredProduct":{"$ref":"#/components/schemas/channels.messages.metadata.referred_product"},"renderedContentBlocks":{"items":{"type":"string"},"type":"array"},"shortToLongLinks":{"additionalProperties":{"type":"string"},"type":"object"},"skipThisMessage":{"$ref":"#/components/schemas/channels.messages.skip_reason"},"sms":{"$ref":"#/components/schemas/channels.metadata.sms"},"useFallback":{"type":"boolean"}},"title":"Message Meta","type":"object"},"channels.messages.metadata.campaign":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"}},"title":"Message Campaign Meta","type":"object"},"channels.messages.metadata.meta_email":{"properties":{"from":{"$ref":"#/components/schemas/channels.messages.metadata.email_from"},"headers":{"additionalProperties":{"type":"string"},"type":"object"},"subject":{"type":"string"}},"title":"Message Email Meta","type":"object"},"channels.messages.metadata.flow":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"runId":{"format":"uuid","type":"string"},"scheduleExecutionId":{"format":"uuid","type":"string"},"stepId":{"type":"string"}},"title":"Message Flow Meta","type":"object"},"channels.messages.metadata.form_response":{"properties":{"id":{"format":"uuid","type":"string"},"jsonResponse":{"type":"string"},"requestIdentifier":{"format":"uuid","type":"string"},"selections":{"items":{"$ref":"#/components/schemas/channels.messages.metadata.form_response_selection"},"type":"array"},"sessionIdentifier":{"format":"uuid","type":"string"},"template":{"type":"string"},"version":{"type":"string"}},"required":["id","template","version","sessionIdentifier","requestIdentifier","jsonResponse"],"title":"Form Response","type":"object"},"channels.messages.metadata.form_response_selection":{"properties":{"items":{"items":{"$ref":"#/components/schemas/channels.messages.metadata.form_response_selection_tem"},"type":"array"},"pageIdentifier":{"type":"string"},"subtitle":{"type":"string"},"title":{"type":"string"}},"required":["pageIdentifier","subtitle","title"],"title":"Form Response Selection","type":"object"},"channels.messages.metadata.form_response_selection_tem":{"properties":{"identifier":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"required":["identifier","value","type","title"],"title":"Form Response Selection Item","type":"object"},"channels.messages.metadata.order":{"description":"The order object contains information about the purchase order associated with the message.","properties":{"products":{"items":{"$ref":"#/components/schemas/channels.messages.metadata.order_product"},"type":"array"}},"title":"Message Order","type":"object"},"channels.messages.metadata.order_product":{"properties":{"externalCatalogId":{"description":"The platform-specific catalog ID of the product.","type":"string"},"externalProductId":{"description":"The platform-specific product ID.","type":"string"},"price":{"$ref":"#/components/schemas/semantic.money"},"quantity":{"description":"The number of items purchased.","format":"int32","type":"integer"}},"required":["externalProductId","quantity","price"],"title":"Message Order Product","type":"object"},"semantic.money":{"properties":{"amount":{"format":"int64","type":"integer"},"currencyCode":{"type":"string"},"exponent":{"format":"int32","type":"integer"}},"required":["amount","exponent","currencyCode"],"type":"object"},"channels.messages.metadata.push_notifications":{"properties":{"gatewayTypeOverride":{"$ref":"#/components/schemas/channels.participants.push_notification_gateway"}},"title":"Message Push Notifications Meta","type":"object"},"channels.participants.push_notification_gateway":{"enum":["firebase","apns","web"],"type":"string"},"channels.messages.referral":{"properties":{"group":{"type":"string"},"metadata":{"$ref":"#/components/schemas/channels.messages.metadata.referral"},"source":{"type":"string"},"text":{"type":"string"},"title":{"type":"string"}},"required":["source"],"title":"Message Referral","type":"object"},"channels.messages.metadata.referral":{"properties":{"caption":{"type":"string"},"mediaType":{"type":"string"},"mediaUrl":{"type":"string"},"sourceId":{"type":"string"},"sourceUrl":{"type":"string"},"timestamp":{"format":"date-time","type":"string"},"trackingId":{"type":"string"},"username":{"type":"string"}},"required":["sourceId"],"title":"Message Referral Metadata","type":"object"},"channels.messages.metadata.referred_product":{"description":"Referred product in an incoming message (e.g. a product shared in a WhatsApp catalog message).","properties":{"externalCatalogId":{"description":"The platform-specific catalog ID of the product.","type":"string"},"externalProductId":{"description":"The platform-specific product ID.","type":"string"}},"required":["externalProductId"],"title":"Referred Product","type":"object"},"channels.messages.skip_reason":{"enum":["campaignHoldout","globalHoldout","journeyHoldout"],"title":"Skip Reason","type":"string"},"channels.metadata.sms":{"properties":{"gatewayId":{"format":"int32","type":"integer"},"registeredDelivery":{"$ref":"#/components/schemas/channels.sms.registered_delivery"},"smartEncoding":{"description":"When enabled, attempts to transliterate Unicode characters to GSM-7 equivalents. If the resulting text is fully GSM-7 compatible, fewer message segments may be required. The original message body is preserved; transliteration is only applied when sending.","type":"boolean"},"smpp":{"$ref":"#/components/schemas/channels.metadata.sms_smpp"},"validity":{"format":"date-time","type":"string"}},"type":"object"},"channels.sms.registered_delivery":{"enum":["final","intermediate","all","noDlr"],"type":"string"},"channels.metadata.sms_smpp":{"properties":{"segments":{"items":{"$ref":"#/components/schemas/channels.metadata.sms_segment"},"type":"array"},"userId":{"format":"uuid","type":"string"}},"required":["userId"],"type":"object"},"channels.metadata.sms_segment":{"properties":{"id":{"format":"uuid","type":"string"},"registeredDelivery":{"$ref":"#/components/schemas/channels.sms.registered_delivery"}},"required":["id","registeredDelivery"],"type":"object"},"channels.messages.part":{"properties":{"id":{"format":"uuid","type":"string"},"order":{"format":"int32","type":"integer"},"platformReferenceId":{"type":"string"},"platformStatusAt":{"format":"date-time","type":"string"},"rawBody":{"type":"string"},"reason":{"type":"string"},"status":{"$ref":"#/components/schemas/channels.messages.status"},"statusAt":{"format":"date-time","type":"string"}},"type":"object"},"channels.messages.status":{"enum":["accepted","processing","sent","sending_failed","delivered","delivery_failed","deleted","scheduled","skipped","rejected"],"type":"string"},"channels.messages.previous_message":{"properties":{"id":{"format":"uuid","type":"string"},"useCaseType":{"$ref":"#/components/schemas/channels.use_case_type"}},"required":["id","useCaseType"],"type":"object"},"channels.use_case_type":{"enum":["unspecified","marketing","otp","transactional","conversation","test"],"type":"string"},"channels.participants.receiver":{"properties":{"connector":{"$ref":"#/components/schemas/channels.participants.connector"},"contacts":{"items":{"$ref":"#/components/schemas/channels.participants.contact"},"type":"array"},"device":{"$ref":"#/components/schemas/channels.participants.device"},"inbox":{"$ref":"#/components/schemas/channels.participants.inbox"},"userContacts":{"items":{"$ref":"#/components/schemas/channels.participants.user_contact"},"type":"array"}},"type":"object"},"channels.participants.connector":{"properties":{"annotations":{"$ref":"#/components/schemas/channels.participants.contact_annotation"},"id":{"format":"uuid","type":"string"},"identifierValue":{"description":"The identifier value of the sender or receiver connector (e.g. email address or phone number).","type":"string"},"types":{"items":{"type":"string"},"type":"array"}},"required":["id"],"type":"object"},"channels.participants.contact_annotation":{"description":"Annotations add extra information to a sender or receiver. For email messages, the name annotation overrides the display name.","properties":{"name":{"type":"string"}},"type":"object"},"channels.participants.contact":{"properties":{"contactAnnotation":{"$ref":"#/components/schemas/channels.participants.contact_annotation"},"countryCode":{"type":"string"},"id":{"description":"The ID of the contact.","format":"uuid","type":"string"},"identifierKey":{"description":"The identifier key for finding the contact (e.g. emailaddress, phonenumber). For WhatsApp channels with BSUID support, use `whatsappbsuid` to send to a contact by their Business-Scoped User ID.","type":"string"},"identifierValue":{"description":"The identifier value for finding the contact.","type":"string"},"identifiers":{"description":"Additional identifiers to augment the contact during resolution.","items":{"$ref":"#/components/schemas/channels.participants.identifier"},"type":"array"},"platformAddress":{"description":"The resolved platform address used to deliver the message (e.g. phone number or email address).","type":"string"},"platformAddressSelector":{"description":"An expression that defines how we resolve the platform address from a contact. Optional override for the default resolution logic.","type":"string"},"receiverExpression":{"type":"string"},"receiverValue":{"type":"string"},"type":{"description":"The type of the receiver (e.g. to, cc, bcc for email).","type":"string"}},"type":"object"},"channels.participants.identifier":{"properties":{"identifierKey":{"description":"The identifier key for finding the contact (e.g. emailaddress, phonenumber).","type":"string"},"identifierValue":{"description":"The identifier value for finding the contact.","type":"string"}},"required":["identifierKey","identifierValue"],"type":"object"},"channels.participants.device":{"properties":{"gateway":{"$ref":"#/components/schemas/channels.participants.push_notification_gateway"},"id":{"format":"uuid","type":"string"},"identifierValue":{"type":"string"}},"required":["id","identifierValue","gateway"],"type":"object"},"channels.participants.inbox":{"properties":{"emailRecipientType":{"type":"string"},"id":{"format":"uuid","type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"$ref":"#/components/schemas/channels.inbox_type"}},"required":["id","type","identifierKey","identifierValue"],"type":"object"},"channels.inbox_type":{"enum":["user","group"],"type":"string"},"channels.participants.user_contact":{"properties":{"id":{"format":"uuid","type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"}},"required":["id","identifierKey","identifierValue"],"type":"object"},"channels.messages.reply_to":{"properties":{"id":{"description":"The ID of the message that is being replied to.","format":"uuid","type":"string"},"order":{"description":"The order of the message part in the conversation.","format":"int32","type":"integer"},"platformReference":{"type":"string"},"type":{"$ref":"#/components/schemas/channels.messages.reply_to_type"}},"type":"object"},"channels.messages.reply_to_type":{"enum":["message","click"],"type":"string"},"channels.messages.schedule":{"properties":{"reason":{"type":"string"},"scheduledAt":{"format":"date-time","type":"string"}},"required":["scheduledAt","reason"],"type":"object"},"channels.participants.sender":{"properties":{"connector":{"$ref":"#/components/schemas/channels.participants.connector"},"contact":{"$ref":"#/components/schemas/channels.participants.contact"},"inbox":{"$ref":"#/components/schemas/channels.participants.inbox"},"userContact":{"$ref":"#/components/schemas/channels.participants.user_contact"}},"type":"object"},"channels.messages.message_short_links":{"properties":{"domain":{"description":"The domain to use when shortening links. When set to `default`, uses the default link shortening domain for the workspace.","type":"string"}},"required":["domain"],"type":"object"},"channels.messages.template":{"properties":{"attachments":{"items":{"$ref":"#/components/schemas/channels.messages.template_attachment"},"type":"array"},"deployment":{"additionalProperties":{"type":"string"},"type":"object"},"locale":{"type":"string"},"name":{"description":"The platform name of the template.","type":"string"},"parameters":{"items":{"$ref":"#/components/schemas/channels.messages.template_parameter"},"type":"array"},"projectId":{"description":"The ID of the project from Studio.","format":"uuid","type":"string"},"settings":{"$ref":"#/components/schemas/channels.messages.template_settings"},"shortLinks":{"$ref":"#/components/schemas/channels.messages.short_links"},"templateBody":{"$ref":"#/components/schemas/channels.messages.body.body"},"utmParameters":{"items":{"$ref":"#/components/schemas/channels.messages.utm_parameter"},"type":"array"},"variables":{"additionalProperties":{"type":"string"},"type":"object"},"version":{"description":"The version of the template.","type":"string"}},"required":["projectId","version","locale"],"type":"object"},"channels.messages.template_attachment":{"properties":{"content":{"type":"string"},"contentType":{"type":"string"},"filename":{"type":"string"},"inline":{"type":"boolean"},"mediaUrl":{"type":"string"}},"required":["mediaUrl","filename","inline"],"type":"object"},"channels.messages.template_parameter":{"properties":{"key":{"type":"string"},"sourceUrl":{"$ref":"#/components/schemas/channels.messages.source_url"},"type":{"$ref":"#/components/schemas/channels.messages.template_parameter_type"},"value":{"nullable":true,"oneOf":[{"type":"object"},{"items":{},"type":"array"},{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["type","key","value"],"type":"object"},"channels.messages.source_url":{"properties":{"fullyReplaced":{"type":"boolean"},"value":{"type":"string"}},"required":["value","fullyReplaced"],"type":"object"},"channels.messages.template_parameter_type":{"enum":["string","timeslotList","productSections","productList","number","boolean","sectionList","shippingMethodList","lineItemList","whatsappProductSections","whatsappProductItems","shortLink","object","carouselCards","appleFormPageItems"],"type":"string"},"channels.messages.template_settings":{"properties":{"disallowMmLite":{"type":"boolean"}},"type":"object"},"channels.messages.short_links":{"properties":{"domain":{"description":"The domain to use when shortening links. When set to `default`, uses the default link shortening domain for the workspace.","type":"string"},"enabled":{"description":"Enables link shortening for SMS messages.","type":"boolean"}},"required":["enabled","domain"],"type":"object"},"channels.messages.utm_parameter":{"allOf":[{"properties":{"key":{"type":"string"}},"required":["key"],"type":"object"},{"oneOf":[{"properties":{"value":{"type":"string"}},"required":["value"],"type":"object"},{"properties":{"reference":{"$ref":"#/components/schemas/channels.messages.utm_parameter_reference"}},"required":["reference"],"type":"object"}]}]},"channels.messages.utm_parameter_reference":{"enum":["platform_name","channel_name"],"type":"string"},"error.detailed":{"additionalProperties":false,"description":"An error returned from the API that includes additional details about the error. The `details` property can contain any additional information about the error that may be helpful for debugging or understanding the error.\n","properties":{"code":{"description":"A unique code that identifies the error. This code can be used to programmatically identify the error.","minLength":3,"type":"string"},"details":{"additionalProperties":true,"description":"Any additional information about the error that may be helpful for debugging or understanding the error.","type":"object"},"message":{"description":"A human-readable message that describes the error.","minLength":1,"type":"string"}},"required":["code","message"],"title":"DetailedError","type":"object"},"error.validation":{"additionalProperties":false,"description":"A validation error returned from the API. The `details` map keys are JSON paths\npointing into the request body / parameters; values are arrays of human-readable\nmessages describing each problem with that path.\n","properties":{"code":{"description":"A unique code that identifies the error. This code can be used to programmatically identify the error.","minLength":3,"type":"string"},"details":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"description":"Per-field validation messages keyed by JSON path.","type":"object"},"message":{"description":"A human-readable message that describes the error.","minLength":1,"type":"string"}},"required":["code","message"],"title":"ValidationError","type":"object"}},"responses":{"requestError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.detailed"}}},"description":"An error"},"error.response.conflict":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.detailed"}}},"description":"The request conflicts with the current state of the resource."},"validationError":{"$ref":"#/components/responses/error.response.invalid_request"},"error.response.invalid_request":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.validation"}}},"description":"The request contains invalid parameters or body fields."}}},"paths":{"/workspaces/{workspaceId}/channels/{channelId}/messages":{"post":{"summary":"Send a message","operationId":"createChannelMessage","description":"Send a message to a channel","tags":["channel_message"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessage"}}}},"responses":{"202":{"description":"Message was accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/channels.messages.message"}}}},"400":{"$ref":"#/components/responses/requestError"},"404":{"$ref":"#/components/responses/requestError"},"409":{"$ref":"#/components/responses/error.response.conflict"},"422":{"$ref":"#/components/responses/validationError"}}}}}}
```

***

### Receiver identifier

Push notifications use a **channel-scoped identifier key** and a **gateway-prefixed identifier value**. This differs from SMS/WhatsApp where the identifier key is `phonenumber` and the value is a raw E.164 number.

* `identifierKey` must be `push-{channelId}` — the literal string `push-` followed by the UUID of the push channel you are sending through. This is the same channel UUID that appears in the request URL.
* `identifierValue` must be `{gateway}:{deviceToken}` where `{gateway}` is one of:
  * `firebase` — for Android devices registered with Firebase Cloud Messaging (FCM v1)
  * `apns` — for iOS devices registered with Apple Push Notification service
  * `web` — for browsers registered with the Web Push protocol via VAPID

A bare device token without the gateway prefix is rejected.

**Example receiver block:**

```json
{
  "receiver": {
    "contacts": [
      {
        "identifierKey":   "push-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "identifierValue": "firebase:fK3xLp9aQ8m...:APA91bF..."
      }
    ]
  }
}
```

{% hint style="info" %}
Note: FCM tokens contain `:` characters internally — only the **first** colon (separating the gateway from the token) is parsed by Bird. The rest of the value is treated as one opaque token string.
{% endhint %}

***

### Push notification body

Push messages use `body.type: "list"` with `title` and `text` fields. The `text` body type used by SMS, WhatsApp, and email is not supported by the push platform.

| Field             | Description                                                                        |
| ----------------- | ---------------------------------------------------------------------------------- |
| `body.type`       | Must be `"list"`.                                                                  |
| `body.list.title` | The notification title that appears in bold at the top of the system notification. |
| `body.list.text`  | The notification body text below the title.                                        |

**Example**:

```json
{
  "body": {
    "type": "list",
    "list": {
      "title": "New message",
      "text":  "Hello from your app"
    }
  }
}
```

### Full request examples

#### Send to an Android device (Firebase)

```json
{
  "receiver": {
    "contacts": [
      {
        "identifierKey":   "push-{channelId}",
        "identifierValue": "firebase:{fcm_device_token}"
      }
    ]
  },
  "body": {
    "type": "list",
    "list": {
      "title": "New message",
      "text":  "Hello from your app"
    }
  }
}
```

#### Send to an iOS device (APNs)

```json
{
  "receiver": {
    "contacts": [
      {
        "identifierKey":   "push-{channelId}",
        "identifierValue": "apns:{apns_device_token}"
      }
    ]
  },
  "body": {
    "type": "list",
    "list": {
      "title": "New message",
      "text":  "Hello from your app"
    }
  }
}
```

#### Send to a browser (Web Push)

```json
{
  "receiver": {
    "contacts": [
      {
        "identifierKey":   "push-{channelId}",
        "identifierValue": "web:{web_push_subscription_token}"
      }
    ]
  },
  "body": {
    "type": "list",
    "list": {
      "title": "New message",
      "text":  "Hello from your app"
    }
  }
}
```

***

### Troubleshooting

If a send fails, the `failure.reason` field on the message contains the underlying error. Fetch the message via `GET /workspaces/{workspaceId}/channels/{channelId}/messages/{messageId}` and check that field.

The three most common failure modes are payload-shape mismatches. Match the symptom to the fix:

| `failure.reason` contains                                                                                                               | Fix                                                                                                                        |
| --------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `invalid identifier value format, missing gateway type prefix`                                                                          | The `identifierValue` is missing the gateway prefix. Prepend `firebase:`, `apns:`, or `web:` to the device token.          |
| `PlatformAddress does not match any selector` *(visible in worker logs)* / message stuck in `sending_failed` with no token-shaped value | The `identifierKey` is wrong. It must be `push-{channelId}`, not `pushtoken`, `user_id`, `emailaddress`, etc.              |
| `message body is empty`                                                                                                                 | The `body.type` is something other than `list` (most commonly `text`). Switch to `list` with `list.title` and `list.text`. |

Other failures (expired device tokens, FCM/APNs auth errors, throttling) are surfaced from the gateway response and should be self-explanatory.


---

# 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/supported-channels/programmable-push-notifications.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.
