openapi: 3.0.3 info: title: Messente Account Balance Bulk Messaging 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: Bulk Messaging description: Send an Omnimessage to many recipients in a single request. paths: /omnimessages: post: tags: - Bulk Messaging summary: Sends a bulk Omnimessage description: Sends an Omnimessage to multiple recipients in a single request. operationId: sendBulkOmnimessage requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkOmnimessage' responses: '202': description: Bulk Omnimessage accepted for sending '400': description: Invalid input 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' BulkOmnimessage: type: object properties: messages: type: array items: $ref: '#/components/schemas/Omnimessage' 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 securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication using the API username and password from the Messente dashboard API settings.