OpenAPI Specification
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