openapi: 3.0.3 info: title: Messente Account Balance Omnimessage API version: 2.1.0 description: Messente is a global CPaaS provider of messaging and user verification services based in Estonia. Send and receive SMS, Viber, and WhatsApp messages through a single Omnimessage endpoint with an automatic fallback chain, manage contacts and groups in the Phonebook, look up phone number (HLR) information, run PIN-based number verification / 2FA, retrieve delivery reports, and pull messaging statistics. This is a faithful, representative OpenAPI description of the public Messente REST API; consult the official documentation for the authoritative contract. contact: name: Messente Support url: https://messente.com/documentation email: messente@messente.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://api.messente.com/v1 description: Messente production API security: - basicAuth: [] tags: - name: Omnimessage description: Send SMS, Viber, WhatsApp, and Telegram messages with an automatic fallback chain. paths: /omnimessage: post: tags: - Omnimessage summary: Sends an Omnimessage description: Sends an Omnimessage across one or more channels (SMS, Viber, WhatsApp, Telegram). Channels are attempted in the order supplied as a fallback chain until delivery succeeds. operationId: sendOmnimessage requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Omnimessage' responses: '202': description: Omnimessage accepted for sending content: application/json: schema: $ref: '#/components/schemas/OmniMessageCreateSuccessResponse' '400': description: Invalid input '401': description: Unauthorized /omnimessage/{omnimessageId}: delete: tags: - Omnimessage summary: Cancels a scheduled Omnimessage operationId: cancelScheduledMessage parameters: - name: omnimessageId in: path required: true description: The identifier of the Omnimessage to cancel. schema: type: string format: uuid responses: '204': description: Omnimessage cancelled '404': description: Omnimessage not found components: schemas: WhatsApp: type: object description: A WhatsApp channel message. properties: channel: type: string enum: - whatsapp default: whatsapp sender: type: string text: $ref: '#/components/schemas/WhatsAppText' SMS: type: object description: An SMS channel message. required: - text properties: channel: type: string enum: - sms default: sms sender: type: string description: Sender ID. text: type: string validity: type: integer description: Message validity period in minutes. autoconvert: type: string enum: - full - 'on' - 'off' WhatsAppText: type: object properties: body: type: string preview_url: type: boolean Viber: type: object description: A Viber channel message. required: - text properties: channel: type: string enum: - viber default: viber sender: type: string text: type: string image_url: type: string button_url: type: string button_text: type: string validity: type: integer Omnimessage: type: object description: A message delivered over one or more channels. The messages array defines the fallback chain in priority order. required: - to - messages properties: to: type: string description: Recipient phone number in international E.164 format. messages: type: array description: Ordered list of channel-specific messages forming the fallback chain. items: oneOf: - $ref: '#/components/schemas/SMS' - $ref: '#/components/schemas/Viber' - $ref: '#/components/schemas/WhatsApp' text_store: type: string enum: - nostore - plaintext - sha256 OmniMessageCreateSuccessResponse: type: object properties: messages: type: array items: type: object properties: channel: type: string message_id: type: string sender: type: string to: type: string omnimessage: type: string format: uuid securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication using the API username and password from the Messente dashboard API settings.