This guide walks you through everything you need to send your first WhatsApp message with Titan. By the end, you will have a connected session and a working API call you can build on. All examples useDocumentation Index
Fetch the complete documentation index at: https://docs.usetitan.app/llms.txt
Use this file to discover all available pages before exploring further.
curl; if you prefer an SDK, see the SDKs overview.
Get an API key
Before you can call the API, you need an API key. API keys use the The response includes the full key — store it securely, it is only returned once:
titan_ prefix and are passed as a Bearer token on every request.If you are using the SaaS edition, create a key from your account dashboard. You can also create one via the API itself once you have an initial key:Create a session
A session represents one WhatsApp number connected to Titan. Session names must be alphanumeric and may include dots, hyphens, and underscores (1–64 characters).Expected response:Now start the session so it is ready for pairing:The session moves to
CONNECTING status and waits for you to pair a WhatsApp number.Pair your WhatsApp number
You can pair using a QR code scan or an 8-digit phone code. Choose whichever method suits your setup.Once you complete pairing, the session status moves to
- QR code
- Phone code
Retrieve the QR code as a base64-encoded PNG:Response:Decode the base64 value and display it as an image, then open WhatsApp on your phone, go to Linked devices, tap Link a device, and scan the code.
CONNECTED. You can verify this by checking the session:What’s next
Now that you have sent your first message, explore what else you can do:Send media messages
Send images, video, audio, documents, polls, and location messages using the same unified endpoint.
Receive incoming messages
Set up a webhook to receive
message.received events and build a two-way conversation.Use an SDK
Replace raw
curl calls with a typed client in TypeScript, Go, Python, PHP, or C#.Manage sessions
Learn about session lifecycle, auto-reconnect, status reasons, and per-session configuration.