ps_ key for the number’s real Meta system token upstream, so you never handle Meta tokens yourself.
Base URL
graph.facebook.com/<version>/. The vNN.N version segment is optional — omit it and Pilot uses the configured default (v22.0), or include it (e.g. v22.0/<phone-number-id>/messages) to pin a version.
Authentication
Send your Pilot Statusps_ key using any of the three forms below. Pilot Status swaps it for the number’s real Meta token before forwarding — the ps_ key never reaches Meta:
How it works
The Meta layer is passthrough-with-denylist: it forwards messaging, media, template, profile, group, and calling traffic and denies account / business / auth management and number (de)registration. The Graph node id — phone-number id, WABA id, media id, group id, template id — is the first path segment. Pilot Status checks that the phone-number id / WABA id in the path belongs to your API key’s number (403 otherwise).
Single-segment nodes (
GET/POST/DELETE /{id}) are resolved by id type — the same shape covers media, group, phone-number, and template ids, exactly as the Graph API does. See each operation’s description in the Playground.Supported operations
Messages
Media
Templates
Phone numbers
Business profile
Groups (OBA)
Calls (WhatsApp Business Calling)
Blocked (denied)
These are not exposed through the layer and return 403 — manage them in the Pilot Status dashboard instead:- Number lifecycle:
POST /{phone-number-id}/register,POST /{phone-number-id}/deregister - Auth / management segments anywhere in the path:
oauth,debug_token,subscribed_apps,subscriptions,system_users,assigned_users,client_whatsapp_business_accounts,owned_whatsapp_business_accounts - Deleting your own WABA or phone-number id
Example: send a text message
Try it
Every endpoint above is interactive in the Playground → Meta Cloud API — send a request with yourps_ key and see the live Graph API response.
For new integrations, consider the native Pilot Status API — one endpoint sends across Meta and non-official numbers with a simpler body.