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

# Quickstart

> Authenticate, send one SMS, retrieve campaign totals, and correlate its delivery receipt.

Follow one appointment reminder from API availability to recipient-level delivery. The same `ClientReference` connects the send request to the delivery receipt (DLR).

<Warning>
  Campaign creation uses the live messaging service and can consume message credits. Send only to recipients you are permitted to message and use a Sender ID approved for your account.
</Warning>

## Before you begin

You need:

* A [Phonovation account](https://app.phonovation.com/).
* A personal access token from [developer settings](https://app.phonovation.com/developer?tab=pat-tokens).
* An approved Sender ID.
* An HTTPS endpoint configured in [webhook settings](https://app.phonovation.com/developer?tab=webhook) if you want delivery receipts.

<Steps titleSize="h2">
  <Step title="Check API health" icon="heart-pulse">
    The health endpoint is public:

    ```bash title="Check health" theme={"dark"}
    curl https://api.phonovation.com/health
    ```

    A `200 OK` response containing `Healthy` confirms that the API is responding at that moment.
  </Step>

  <Step title="Send one SMS" icon="paper-plane">
    Submit one recipient with a Client Reference from your system:

    ```bash title="Create campaign" wrap theme={"dark"}
    curl -X POST https://api.phonovation.com/v1/campaign \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "text": "Reminder: your appointment is tomorrow at 10:30.",
        "from": "HarbourDent",
        "campaignName": "Tomorrow Appointments",
        "recipientInfo": [{
          "msisdn": "353871234567",
          "ClientReference": "appointment-88421"
        }]
      }'
    ```

    The API returns `202 Accepted` with a campaign UUID:

    ```json title="Campaign accepted" theme={"dark"}
    {
      "id": "ffd14db7-e526-4d69-b41e-ec5e38bc04dd",
      "message": "Campaign received to be processed"
    }
    ```

    Store the UUID with the record that initiated the send. Acceptance means the campaign is queued; it does not mean the handset received the message.
  </Step>

  <Step title="Read campaign totals" icon="chart-line">
    Request the campaign summary with the returned UUID:

    ```bash title="Get campaign summary" wrap theme={"dark"}
    curl https://api.phonovation.com/v1/campaign/ffd14db7-e526-4d69-b41e-ec5e38bc04dd \
      -H "Authorization: Bearer YOUR_TOKEN"
    ```

    ```json title="Campaign summary" theme={"dark"}
    {
      "totalSent": 1,
      "delivered": 0,
      "undelivered": 0,
      "pending": 1
    }
    ```

    A new campaign can return `404 Not Found` before its summary is ready. Retry with backoff when you have just received the campaign UUID.
  </Step>

  <Step title="Receive the delivery receipt" icon="webhook">
    Phonovation posts the recipient-level result to your configured webhook:

    ```json title="Delivered DLR" theme={"dark"}
    {
      "To": "353871234567",
      "From": "HarbourDent",
      "Status": "DELIVERED",
      "ClientReference": "appointment-88421"
    }
    ```

    Verify `X-Signature` against the exact raw request bytes before parsing the JSON. Use `ClientReference` to locate `appointment-88421`, apply the DLR's `Status`, and return a `2xx` response after storing or queueing the event.

    <Check>
      The campaign UUID tracks aggregate totals. `ClientReference` tracks the individual recipient through the webhook.
    </Check>
  </Step>
</Steps>

## Go deeper

<CardGroup cols={2}>
  <Card title="Connect the MCP server" icon="microchip-ai" color="#D23A25" href="/phonovation-api/tools/mcp" cta="Use the docs in your AI tool" arrow="true">
    Search the guides and API Reference directly from a compatible coding assistant.
  </Card>

  <Card title="Authentication" icon="key" href="/phonovation-api/authentication">
    Compare personal access tokens with the optional OAuth lifecycle.
  </Card>

  <Card title="Sending SMS" icon="paper-plane" href="/phonovation-api/sending-sms">
    Learn encoding, scheduling, recipient validation, and partial processing.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/phonovation-api/webhooks">
    Implement signature verification, acknowledgements, and retries.
  </Card>
</CardGroup>
