Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/wati-messages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.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