WATI Messages API

Retrieve and send WhatsApp messages.

OpenAPI Specification

wati-messages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: WATI WhatsApp Business Contacts Messages API
  description: 'Tenant-scoped REST API for the WATI WhatsApp Business platform. Use this API

    to send WhatsApp template and session messages, manage contacts, fetch

    conversation history, and orchestrate operator assignments. Each WATI

    workspace exposes its own base URL (for example,

    `https://live-mt-server.wati.io/{tenantId}`) and authenticates calls with a

    Bearer access token issued from the WATI dashboard.

    '
  version: 1.0.0
  contact:
    name: WATI Support
    url: https://support.wati.io
  license:
    name: Proprietary
servers:
- url: https://live-mt-server.wati.io/{tenantId}/api/v1
  description: WATI multi-tenant production server
  variables:
    tenantId:
      default: '0'
      description: WATI tenant / workspace identifier assigned to the account.
security:
- bearerAuth: []
tags:
- name: Messages
  description: Retrieve and send WhatsApp messages.
paths:
  /getMessages/{whatsappNumber}:
    get:
      tags:
      - Messages
      summary: Get messages by WhatsApp number
      description: Retrieve message history for a given WhatsApp number, including country code (for example, `85264318721`).
      operationId: getMessagesByNumber
      parameters:
      - in: path
        name: whatsappNumber
        required: true
        schema:
          type: string
        description: WhatsApp number with country code, no leading `+`.
      - in: query
        name: pageSize
        schema:
          type: integer
          format: int32
        description: Number of messages per page.
      - in: query
        name: pageNumber
        schema:
          type: integer
          format: int32
        description: 1-based page number.
      responses:
        '200':
          description: A paginated list of messages for the contact.
  /sendTemplateMessage:
    post:
      tags:
      - Messages
      summary: Send a WhatsApp template message
      description: Send a pre-approved WhatsApp template message to a contact identified by phone number.
      operationId: sendTemplateMessage
      parameters:
      - in: query
        name: whatsappNumber
        required: true
        schema:
          type: string
        description: Destination WhatsApp number with country code.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - template_name
              - broadcast_name
              properties:
                template_name:
                  type: string
                  description: Name of the WhatsApp template approved for the workspace.
                broadcast_name:
                  type: string
                  description: Logical broadcast name used by WATI to group sends.
                parameters:
                  type: array
                  description: Template parameter values keyed by template variable name.
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      value:
                        type: string
      responses:
        '200':
          description: Template message accepted for delivery.
  /sendSessionMessage/{whatsappNumber}:
    post:
      tags:
      - Messages
      summary: Send a session message
      description: Send a free-form WhatsApp session message inside the 24-hour customer service window.
      operationId: sendSessionMessage
      parameters:
      - in: path
        name: whatsappNumber
        required: true
        schema:
          type: string
        description: Destination WhatsApp number with country code.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - messageText
              properties:
                messageText:
                  type: string
                  description: Plain-text message body to send to the contact.
      responses:
        '200':
          description: Session message accepted for delivery.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'WATI uses Bearer token authentication. Tokens are issued from the WATI

        dashboard under API Docs and must be supplied as

        `Authorization: Bearer <token>` on every request.

        '
externalDocs:
  description: WATI API Reference
  url: https://docs.wati.io/reference/introduction