Skip to main content

1. Create your account and project

Open Polymorfa, sign up with email OTP, passkey, or an enabled social provider, then complete team and project setup. Save the project ID shown in the Console.

2. Create an organization key

In Console → Team → API keys, create an organization key with the narrowest scopes for the task. This quickstart needs sessions:manage, sessions:read, messages:write, and webhooks:manage. A project token can call Messaging API operations allowed by its scopes and owning project, but public /v1/* Platform API operations reject project tokens.
Organization keys retain the titan_ prefix. The secret is shown once.

3. Create and pair a session

You can create a session in the Console or through the Messaging API:
Save the returned canonical sessionId. It is the {session} value in all session-scoped paths.
The response contains a qr string. Encode that string as a QR image and scan it in WhatsApp under Linked devices. Alternatively, request a pairing code with POST /api/{session}/pair/code and a JSON body containing the E.164 phone value.

4. Send a message

The request schema also supports image, file, voice, video, poll, location, and contact messages. See the generated sendMessage endpoint for the exact required fields per type.

5. Register a signed webhook

Verify X-Webhook-Signature over the raw body before processing. For a Meta-compatible consumer, set format to meta and verify X-Hub-Signature-256 instead. See Webhooks.

Messaging API

Browse every current messaging endpoint and type.

Platform API

Automate organization and project workflows.

Meta-compatible requests

Migrate a Meta Cloud API client to the Messaging API.

Sandbox

Test without real WhatsApp traffic.