late 0.0.1373

API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema). Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
Documentation
# SendInboxMessageRequest

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**account_id** | **String** | Account ID | 
**message** | Option<**String**> | Message text | [optional]
**attachment_url** | Option<**String**> | URL of the attachment to send (image, video, audio, or file). Must be publicly accessible. For binary file uploads, use multipart/form-data instead.  On WhatsApp, an image, video, or file combined with `buttons` renders as the header of one interactive reply-button message. Audio cannot be combined with buttons. | [optional]
**category** | Option<**Category**> | WhatsApp only (Meta Direct Send). Sends a business-initiated UTILITY message without an approved template, e.g. outside the 24-hour customer service window. Meta matches or auto-creates a template asynchronously.  - The WhatsApp Business Account must be eligible for Direct Send; otherwise the send fails, telling you to use an approved message template. - Supported only for text messages (link preview ok) and interactive messages (reply buttons, CTA URL buttons, voice-call button, header of text/image/video/document). - Cannot be combined with template, attachments, location, or contacts. - Utility messages only; marketing content is not allowed. - Accepted on the JSON body only, not on multipart requests.  (enum: utility) | [optional]
**link_preview** | Option<**bool**> | WhatsApp and iMessage. Set false to send the message without a link-preview thumbnail. Ignored on other platforms.  - WhatsApp: affects the first URL. - iMessage: every link renders as plain text.  Defaults to true, which is how every WhatsApp text has been sent to date. Accepted on the JSON body only, not on multipart requests.  | [optional][default to true]
**attachment_type** | Option<**AttachmentType**> | Type of attachment. Defaults to file if not specified. (enum: image, video, audio, file) | [optional]
**attachment_name** | Option<**String**> | WhatsApp only. Display name for a document sent via attachmentUrl with attachmentType: file (e.g. \"Report.pdf\"). Maps to the recipient's file name; without it WhatsApp derives the name from the URL and shows \"Untitled\". Ignored for image/video/audio and for binary uploads (which use the uploaded file's name). | [optional]
**voice_note** | Option<**bool**> | WhatsApp only. When `true` on an audio attachment, the message is sent as a voice message (PTT): the recipient sees the waveform + voice-note UI instead of a basic audio attachment. Ignored for non-audio attachments.  The audio file MUST be `.ogg` encoded with the OPUS codec (mono), per Meta's voice-message contract; other formats are rejected by WhatsApp.  | [optional]
**subject** | Option<**String**> | iMessage only (JSON body only). Bold title line rendered above the message text. Rejected with 400 on other platforms; ignored on voice-message sends. | [optional]
**cc** | Option<**Vec<String>**> | Email threads only (Google / Microsoft accounts, JSON body only). Extra recipients copied on the reply. | [optional]
**effect** | Option<**Effect**> | iMessage only (JSON body only). Apple screen/bubble animation played when the message arrives. Rejected with 400 on other platforms. (enum: slam, loud, gentle, invisibleInk, echo, spotlight, balloons, confetti, love, lasers, fireworks, shootingStar, celebration) | [optional]
**contact_card** | Option<**bool**> | iMessage only (JSON body only). When `true`, attaches the sender's contact card (vCard) so the recipient can save the sender. Counts as message content on its own, so `message` becomes optional. | [optional]
**channel** | Option<**Channel**> | iMessage only (JSON body only). Overrides the delivery channel for this one send; the provider otherwise picks it automatically. The sender must carry the matching add-on (SMS, RCS or WhatsApp), or the send fails. Not a default to set on every request. Rejected with 400 on other platforms. (enum: imessage, sms, rcs, whatsapp) | [optional]
**shared_media_id** | Option<**String**> | Instagram only (JSON body only; 400 on other platforms). Shares one of the account's own published posts in the DM, by its Instagram media id (the `id` returned by the media endpoints, not a permalink). Meta only accepts media the account owns.  Sent on its own: cannot be combined with `message`, attachments, `quickReplies`, `buttons`, `template` or `sticker` (400). `messageTag: HUMAN_AGENT` is allowed. Works on accounts connected with Instagram Login and with Facebook Login.  | [optional]
**sticker** | Option<**Sticker**> | Instagram only (JSON body only). Sends a sticker instead of text; `like_heart` is the heart sticker. Sent on its own: cannot be combined with `message`, attachments, `quickReplies`, `buttons`, `template` or `sharedMediaId` (400). `messageTag: HUMAN_AGENT` is allowed. Rejected with 400 on other platforms. (enum: like_heart) | [optional]
**quick_replies** | Option<[**Vec<models::SendInboxMessageRequestQuickRepliesInner>**](SendInboxMessageRequestQuickRepliesInner.md)> | Quick reply buttons. Mutually exclusive with buttons. Max 13 items. | [optional]
**buttons** | Option<[**Vec<models::SendInboxMessageRequestButtonsInner>**](SendInboxMessageRequestButtonsInner.md)> | Action buttons. Max 3 items. Mutually exclusive with quickReplies.  **Instagram / Facebook.** Also mutually exclusive with `template`: a Meta message carries one body shape, so sending both is a 400 rather than a silent drop of the buttons.  The buttons and `message` render as Meta's button_template (one bubble with the text and the buttons below it), so `message` must be 640 characters or less when buttons are attached (400 otherwise).  **WhatsApp.** Buttons always render as interactive reply buttons. Only `title` and `payload` are used; `type`, `url`, and `phone` are ignored. WhatsApp has no URL/phone button in this field: use the `interactive` field with `type: cta_url` for a link button.  `payload` becomes the button reply ID delivered on the `message.received` webhook when the user taps. For a simple reply-button message, provide `title` + `payload` and set `type: postback`, e.g. `{ \"type\": \"postback\", \"title\": \"Yes\", \"payload\": \"yes\" }`.  Combine `buttons` with `attachmentUrl` and `attachmentType` `image`, `video`, or `file` to render one WhatsApp message with a media header, body text and reply buttons. Audio is not a supported interactive header and returns 400 when combined with buttons.  | [optional]
**template** | Option<[**models::SendInboxMessageRequestTemplate**](SendInboxMessageRequestTemplate.md)> |  | [optional]
**interactive** | Option<[**models::SendInboxMessageRequestInteractive**](SendInboxMessageRequestInteractive.md)> |  | [optional]
**reply_markup** | Option<[**models::SendInboxMessageRequestReplyMarkup**](SendInboxMessageRequestReplyMarkup.md)> |  | [optional]
**messaging_type** | Option<**MessagingType**> | Facebook messaging type. Required when using messageTag. (enum: RESPONSE, UPDATE, MESSAGE_TAG) | [optional]
**message_tag** | Option<**MessageTag**> | Facebook and Instagram. To reply after the 24h window, send HUMAN_AGENT with messagingType MESSAGE_TAG: it works up to 7 days after the person's last message, for replies typed by a person only (Meta does not allow it on automated messages). Meta retired the other tags, so they fail. (enum: CONFIRMED_EVENT_UPDATE, POST_PURCHASE_UPDATE, ACCOUNT_UPDATE, HUMAN_AGENT) | [optional]
**reply_to** | Option<**String**> | Platform message ID to quote-reply to.  - WhatsApp: the wamid. - Telegram: the Telegram message ID (message.platformMessageId on webhooks, and `id` on each entry of the list-messages endpoint). - Slack: threads the reply (thread_ts) instead of quoting. - Instagram and Facebook Messenger: no send-side quote replies. The message is sent without a quote and the successful response includes a warnings entry with code ignored_field and param replyTo. - Other platforms without send-side reply support ignore this field.  | [optional]
**location** | Option<[**models::SendInboxMessageRequestLocation**](SendInboxMessageRequestLocation.md)> |  | [optional]
**contacts** | Option<[**Vec<models::SendInboxMessageRequestContactsInner>**](SendInboxMessageRequestContactsInner.md)> | WhatsApp-only. Send one or more contact cards. | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)