API Reference
Live OpenAPI documentation for the WP Engine WhatsApp automation API. All operations include an interactive Try-It panel.
Authentication
All operations require an API key sent in the x-api-key header.
Get your API key at /account/api-keys in the web dashboard. Paste it into the Authorization field on any operation page below to use the Try-It panel — the value persists across page loads via localStorage.
Two key tiers exist via the @better-auth/api-key plugin:
- Free tier — 100 requests/hour
- Pro tier — 1000 requests/hour
The web dashboard's Better-Auth session cookie is also accepted (any caller already logged in at /account/* can call the API directly), but the Try-It panel here uses the API key path.
Base URL
All operation paths in the sidebar are relative to:
/api/rpcIn production this resolves against the web app's host. The Try-It panel forwards requests through /api/proxy on the docs origin to avoid browser CORS.
Message Types (whatsapp.sendMessage)
The whatsapp/sendMessage operation accepts a message object with exactly one of these discriminated fields:
| Type | Required | Optional |
|---|---|---|
text | (string value) | — |
image | url | caption |
video | url | caption |
audio | url | ptt, seconds |
document | url, mimetype | fileName, caption |
sticker | url | — |
location | degreesLatitude, degreesLongitude | name, address |
contact | displayName, contacts[].vcard | — |
nativeButtons | buttons[].type, buttons[].text | text, footer, headerTitle, headerImage, headerVideo |
nativeList | buttonText, sections[] | text, title, footer |
nativeCarousel | cards[].title, cards[].body, cards[].buttons[] | text, footer, card media |
Browse
Use the sidebar to navigate operations by namespace: Clients, Flows (incl. States sub-section), WhatsApp, Worker, Server, Proxy.