> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pilotstatus.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Pilot Status Quickstart: Send Your First WhatsApp Message

> Create your Pilot Status account, connect a WhatsApp number, and send your first message via the REST API. No server or proxy setup required.

This guide walks you through everything you need to go from a blank slate to sending your first WhatsApp message via the Pilot Status API. You'll create an account, connect a number, grab your API key, and make a live API call — no server setup or proxy configuration required.

<Steps>
  <Step title="Create your account">
    Go to [pilotstatus.com.br](https://pilotstatus.com.br) and sign up for a free account. The free plan includes one WhatsApp number and up to 200 messages — no credit card required.
  </Step>

  <Step title="Connect your number">
    In the dashboard, click **Conectar número** and choose your connection method:

    * **QR Code (unofficial):** Open WhatsApp on your phone, tap **Linked Devices → Link a Device**, and scan the QR code shown in the dashboard.
    * **Meta credentials (official):** Select the Cloud API or Coexistence mode, then enter your Meta Business credentials and WhatsApp Business Account ID.

    Your number will appear as **Connected** once the handshake completes. For a full walkthrough of both methods, see [Connect a WhatsApp Number](/connecting-numbers).
  </Step>

  <Step title="Get your API key">
    In the dashboard, open the **API Keys** page (`/api-keys`) and copy the key for your connected number — it starts with `ps_`. Keep this value secret — it authenticates every API request you make.
  </Step>

  <Step title="Send your first message">
    Make the following request, replacing `ps_your_key_here` with your key and `destinationNumber` with a real WhatsApp number you can verify the delivery on. The key itself identifies which of your numbers sends the message.

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://pilotstatus.com.br/v1/messages/send \
        -H "x-api-key: ps_your_key_here" \
        -H "Content-Type: application/json" \
        -d '{
          "destinationNumber": "+5511999999999",
          "text": "Hello from Pilot Status! 👋"
        }'
      ```
    </CodeGroup>

    A successful response returns `HTTP 202` with an `id` and a `status` of `QUEUED`. Pilot Status delivers the message and fires your webhook as delivery and read events arrive. The same endpoint also sends templates (`templateId` + `variables`) and media (`media` + `mediaType`).

    <Tip>
      Phone numbers must be in E.164 format **with the leading `+`** — for example, `+5511999999999` for a Brazilian number (+55), area code 11.
    </Tip>
  </Step>

  <Step title="Receive events">
    To get real-time delivery receipts, read notifications, and incoming messages, create a webhook on the **Webhooks** page in the dashboard (or via `POST /v1/webhooks`). Pilot Status will POST a JSON payload to your URL within milliseconds of each event. You can use a service like [Webhook.site](https://webhook.site) to inspect payloads during development.
  </Step>
</Steps>

## What's next

Now that you've sent your first message, explore the rest of the platform.

<CardGroup cols={2}>
  <Card title="Connect Numbers" icon="mobile" href="/connecting-numbers">
    Learn how to add official and unofficial numbers, set up Coexistence mode, and manage multi-tenant connections.
  </Card>

  <Card title="Webhooks" icon="bolt" href="/concepts/webhooks">
    Understand the webhook payload structure and how to handle delivery, read, and inbound message events.
  </Card>

  <Card title="Send Messages" icon="paper-plane" href="/guides/send-messages">
    Send text, images, documents, audio, buttons, and template messages with the REST API.
  </Card>

  <Card title="API Reference" icon="code" href="/api/overview">
    Browse the full endpoint reference with request schemas, response examples, and error codes.
  </Card>
</CardGroup>
