Skip to content
API PlatformDevelopers
GET/v1/channelsstable

List channels

Needs
Read your data (mcp:read)
Plan
Any plan with API access
Limits
300 a minute per key
Undo
Nothing to undo: this only reads.

Lists the channels connected to your workspace (WhatsApp numbers, Instagram, web chat, …). Use a channel id as channel_id when sending.

Try it

Query (4)

Only this channel type.

Name or number contains.

The `next_cursor` from the previous page. Cursors expire after 24 hours.

How many items per page (1–100).

This only reads. It uses your real data and changes nothing.

Code and response

curl -X GET 'https://mcp.wa-api.cloud/v1/channels?type=whatsapp' \
  -H "Authorization: Bearer $API_KEY"

The code reads your key from $API_KEY.

Parameters

Parameters
FieldTypeWhat it is
typestring · queryOnly this channel type.one of: whatsapp, instagram, messenger, web, tiktok, telegram, email, sms
searchstring · queryName or number contains.1–100 characters
cursorstring · queryThe next_cursor from the previous page. Cursors expire after 24 hours.1–2048 characters
limitinteger · queryHow many items per page (1–100).1–100 · default 25

Headers

Headers
FieldTypeWhat it is
AuthorizationrequiredheaderBearer $API_KEY — your API key.
Api-VersionheaderThe API version to use, e.g. 2026-10-01. Default: the version your key is pinned to.one of: 2026-10-01 · pattern ^\d{4}-\d{2}-\d{2}$

Response 200

A page of channels.

Response fields
FieldTypeWhat it is
datarequiredarray of object
idrequiredstringWorkspace channel id — pass it as channelId to any tool (template and Flow tools accept it too).
meta_channel_idrequiredstring or nullThe same channel in the WhatsApp/Meta service; null when not linked.
namerequiredstring or null
typerequiredstring or nullwhatsapp, instagram, messenger, web, …
identifierrequiredstring or nullBusiness phone number, username or page shown for this channel.
is_defaultrequiredboolean
statusrequiredstringone of: connected, disconnected, inactive, unknown
web_surfacerequiredstring or nullweb / ios / android for web chat channels.
meta_phone_number_idrequiredstring or nullMeta phone_number_id (WhatsApp) — an id, not a secret.
payment_configurationrequiredstring or null
quality_ratingrequiredstring or nullMeta quality rating; null = not exposed by the platform yet.
totalrequiredinteger or null-9007199254740991–9007199254740991
warningsrequiredarray of string
next_cursorrequiredstring or nullPass as "cursor" to get the next page; null when there are no more results.

Errors

Errors are application/problem+json. Branch on code.

StatusCodeWhen
400invalid_input

A field is missing or has the wrong format. errors[] points at each field.

401unauthenticated

The Authorization header is missing, the key is unknown, expired or revoked.

403entitlement_required

The workspace's plan does not include API access (api_access).

403insufficient_scope

The key does not have the permission this operation needs.

429rate_limited

The key or workspace went over its rate limit. Wait for Retry-After seconds.

503upstream_unavailable

A service behind the API is briefly unavailable. Safe to retry with backoff.

Examples

WhatsApp numbers

Response 200

{
  "data": [
    {
      "id": "301",
      "name": "Main WhatsApp",
      "type": "whatsapp",
      "identifier": "+15555550100",
      "is_default": true,
      "status": "connected",
      "quality_rating": "GREEN",
      "meta_channel_id": null,
      "web_surface": null,
      "meta_phone_number_id": null,
      "payment_configuration": null
    }
  ],
  "next_cursor": null,
  "total": 1,
  "warnings": []
}

Operation path

The same operation is also at POST /v1/ops/workspace_channels, with every field in the JSON body.