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

# Quickstart

> Start sending SMS and Voice campaigns in minutes

## Prerequisites

Before you begin, make sure you have:

* A Sendazi account ([Sign up here](https://sendazi.com))
* An API key from your dashboard
* At least one approved sender ID

## Authentication

All API requests require authentication using a Bearer token. Include your API key in the `Authorization` header:

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Step 1: Get Your API Key

<Steps>
  <Step title="Log in to your dashboard">
    Go to [sendazi.com/settings/profile](https://sendazi.com/settings/profile) and sign in to your account.
  </Step>

  <Step title="Navigate to API Keys">
    Click on **Settings** in the sidebar, then select **Manage Account**.
  </Step>

  <Step title="Generate a new key">
    Click the **Generate API Key** button. Copy and store your key securely—it won't be shown again.
  </Step>
</Steps>

<Warning>
  Keep your API key secure. Never expose it in client-side code or public repositories.
</Warning>

## Step 2: Check Your Balance (Optional)

You can check your account balance before sending campaigns. This step is optional—if your account has insufficient credits, the API will return an error when you try to send.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://sendazi.com/api/v1/user/balance" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://sendazi.com/api/v1/user/balance', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://sendazi.com/api/v1/user/balance',
      headers={
          'Authorization': 'Bearer YOUR_API_KEY',
          'Content-Type': 'application/json'
      }
  )

  print(response.json())
  ```

  ```php PHP theme={null}
  $curl = curl_init();

  curl_setopt_array($curl, [
      CURLOPT_URL => 'https://sendazi.com/api/v1/user/balance',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => [
          'Authorization: Bearer YOUR_API_KEY',
          'Content-Type: application/json'
      ]
  ]);

  $response = curl_exec($curl);
  curl_close($curl);

  echo $response;
  ```
</CodeGroup>

## Step 3: Send Your First SMS

There are two ways to send SMS messages: **Quick Send** (simple GET request) or **Campaign API** (full-featured POST request).

### Option A: Quick Send (Simplest)

The fastest way to send a single SMS—just make a GET request with query parameters:

```
https://sendazi.com/api/v1/sms-campaigns/quick?to=PHONE_NUMBER&message=YOUR_MESSAGE&sender_id=YOUR_SENDER_ID&api_key=YOUR_API_KEY
```

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://sendazi.com/api/v1/sms-campaigns/quick?to=233241234567&message=Hello%20from%20Sendazi!&sender_id=YOUR_SENDER_ID&api_key=YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({
    to: '233241234567',
    message: 'Hello from Sendazi!',
    sender_id: 'YOUR_SENDER_ID',
    api_key: 'YOUR_API_KEY'
  });

  const response = await fetch(`https://sendazi.com/api/v1/sms-campaigns/quick?${params}`);
  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://sendazi.com/api/v1/sms-campaigns/quick',
      params={
          'to': '233241234567',
          'message': 'Hello from Sendazi!',
          'sender_id': 'YOUR_SENDER_ID',
          'api_key': 'YOUR_API_KEY'
      }
  )

  print(response.json())
  ```

  ```php PHP theme={null}
  $params = http_build_query([
      'to' => '233241234567',
      'message' => 'Hello from Sendazi!',
      'sender_id' => 'YOUR_SENDER_ID',
      'api_key' => 'YOUR_API_KEY'
  ]);

  $response = file_get_contents("https://sendazi.com/api/v1/sms-campaigns/quick?{$params}");
  echo $response;
  ```
</CodeGroup>

**Response:**

```json theme={null}
{
  "success": true,
  "message": "SMS campaign created successfully",
  "data": {
    "campaign_id": "d02628f5-c30b-4f7d-9a76-da4636ee4af9",
    "status": "sent",
    "network": "MTN",
    "scheduled_at": null
  }
}
```

<Tip>
  Quick Send is perfect for transactional messages, alerts, and simple integrations where you need to send a single SMS quickly.
</Tip>

### Option B: Campaign API (Full-Featured)

For bulk messaging, scheduling, and recurring campaigns, use the full Campaign API:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://sendazi.com/api/v1/sms-campaigns" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "My First Campaign",
      "recipients": ["233241234567", "233501234567"],
      "sender_id": "YOUR_SENDER_ID",
      "message": "Hello! This is a test message from Sendazi."
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://sendazi.com/api/v1/sms-campaigns', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: 'My First Campaign',
      recipients: ['233241234567', '233501234567'],
      sender_id: 'YOUR_SENDER_ID',
      message: 'Hello! This is a test message from Sendazi.'
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://sendazi.com/api/v1/sms-campaigns',
      headers={
          'Authorization': 'Bearer YOUR_API_KEY',
          'Content-Type': 'application/json'
      },
      json={
          'name': 'My First Campaign',
          'recipients': ['233241234567', '233501234567'],
          'sender_id': 'YOUR_SENDER_ID',
          'message': 'Hello! This is a test message from Sendazi.'
      }
  )

  print(response.json())
  ```

  ```php PHP theme={null}
  $curl = curl_init();

  curl_setopt_array($curl, [
      CURLOPT_URL => 'https://sendazi.com/api/v1/sms-campaigns',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_POST => true,
      CURLOPT_HTTPHEADER => [
          'Authorization: Bearer YOUR_API_KEY',
          'Content-Type: application/json'
      ],
      CURLOPT_POSTFIELDS => json_encode([
          'name' => 'My First Campaign',
          'recipients' => ['233241234567', '233501234567'],
          'sender_id' => 'YOUR_SENDER_ID',
          'message' => 'Hello! This is a test message from Sendazi.'
      ])
  ]);

  $response = curl_exec($curl);
  curl_close($curl);

  echo $response;
  ```
</CodeGroup>

## Step 4: Schedule a Campaign (Optional)

You can schedule campaigns to be sent at a specific time:

```json theme={null}
{
  "name": "Scheduled Campaign",
  "recipients": ["233241234567"],
  "sender_id": "YOUR_SENDER_ID",
  "message": "This is a scheduled message!",
  "scheduled_at": "2026-01-15 14:30:00"
}
```

## Step 5: Set Up Recurring Campaigns (Optional)

For regular communications, set up recurring campaigns:

```json theme={null}
{
  "name": "Weekly Newsletter",
  "group_ids": ["your-group-uuid"],
  "sender_id": "YOUR_SENDER_ID",
  "message": "Weekly update from our team!",
  "is_recurring": true,
  "recurrence_frequency": "weekly",
  "recurrence_interval": 1,
  "recurrence_ends_at": "2026-12-31 23:59:59"
}
```

## Next Steps

Now that you've sent your first campaign, explore more features:

<CardGroup cols={2}>
  <Card title="Manage Contacts" icon="users" href="/api-reference/contacts/list">
    Import and organize your contacts into groups.
  </Card>

  <Card title="Create Templates" icon="file-lines" href="/api-reference/message-templates/create">
    Build reusable message templates with placeholders.
  </Card>

  <Card title="Voice Campaigns" icon="phone" href="/api-reference/voice-campaigns/create">
    Reach your audience with voice broadcasts.
  </Card>

  <Card title="View Campaigns" icon="chart-line" href="/api-reference/sms-campaigns/list">
    Track campaign performance and metrics.
  </Card>
</CardGroup>

<Note>
  **Need help?** Contact our support team at [support@sendazi.com](mailto:support@sendazi.com) or visit our [API Reference](/api-reference/introduction) for detailed documentation.
</Note>
