---
title: "Quickstart"
description: "Go from account creation to your first successful SMS request in a few minutes."
---

# Quickstart

This page shows the fastest path to a working Bulkit integration.

Use this flow when you want to:

- generate your credentials
- verify authentication
- confirm available credit
- send your first SMS or WhatsApp message

## Step 1: Create your Bulkit account

Create a Bulkit account and sign in to the dashboard. Your API credentials are managed from the API Keys section inside the dashboard.

## Step 2: Generate an API key

Create a new API key from the dashboard (**API Keys** -> **New API Key**). Simply enter a key name (e.g. `Production Server`) and copy your API Token:

```
bk_live_8n6JQv3K1h9Lp0Md
```

<Note>
For v2 API endpoints, your API key is used directly as a single Bearer token in the `Authorization` header. No separate secret is needed.
</Note>

## Step 3: Check your account balance

Before sending messages, confirm that your account has available credit:

```bash
GET /api/v2/account/credits
```

Example:

```bash
curl -X GET "https://api.bulkitsms.com/api/v2/account/credits" \
  -H "Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md"
```

Response:

```json
{
  "status": "success",
  "data": {
    "client_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "balance": 2.97,
    "last_change": "2026-09-19T06:30:00Z",
    "currency": "KES"
  }
}
```

## Step 4: Send your first message

### Option A: Send an SMS

Send a single SMS using the dedicated single SMS endpoint:

```bash
POST /api/v2/messages/sms
```

### Option B: Send a WhatsApp Message

Ensure your WhatsApp device is linked in the dashboard (**WhatsApp** -> **Connect**), then dispatch via:

```bash
POST /api/v2/messages/whatsapp
```

## Example flow

<CodeGroup>

```bash curl (SMS)
# 1. Check Balance
curl -X GET "https://api.bulkitsms.com/api/v2/account/credits" \
  -H "Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md"

# 2. Send Single SMS
curl -X POST "https://api.bulkitsms.com/api/v2/messages/sms" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md" \
  -d '{
    "sender": "BULK_IT",
    "mobile": "254700000001",
    "message": "Welcome to Bulkit. Your integration is now live."
  }'
```

```bash curl (WhatsApp)
# Send Single WhatsApp Message
curl -X POST "https://api.bulkitsms.com/api/v2/messages/whatsapp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md" \
  -d '{
    "recipient": "254700000001",
    "message": "Hello from Bulkit WhatsApp API v2!"
  }'
```

```python python.py
import requests

BASE_URL = "https://api.bulkitsms.com"
HEADERS = {
    "Authorization": "Bearer bk_live_8n6JQv3K1h9Lp0Md",
}

# 1. Check balance
balance_resp = requests.get(f"{BASE_URL}/api/v2/account/credits", headers=HEADERS, timeout=30)
balance_resp.raise_for_status()
print("Balance:", balance_resp.json()["data"]["balance"], balance_resp.json()["data"]["currency"])

# 2. Send SMS
sms_resp = requests.post(
    f"{BASE_URL}/api/v2/messages/sms",
    headers=HEADERS,
    json={
        "sender": "BULK_IT",
        "mobile": "254700000001",
        "message": "Welcome to Bulkit. Your integration is now live.",
    },
    timeout=30,
)
sms_resp.raise_for_status()
print("SMS Queued:", sms_resp.json())

# 3. Send WhatsApp
wa_resp = requests.post(
    f"{BASE_URL}/api/v2/messages/whatsapp",
    headers=HEADERS,
    json={
        "recipient": "254700000001",
        "message": "Hello from Bulkit WhatsApp API v2!",
    },
    timeout=30,
)
wa_resp.raise_for_status()
print("WhatsApp Queued:", wa_resp.json())
```

</CodeGroup>

## Next steps

After your first successful request:

- review [Generating API Keys](/generating-api-keys) for security guidance
- read [Authentication Overview](/authentication/overview)
- configure [Webhooks Overview](/webhooks/overview) for real-time delivery and inbox callbacks
- explore [WhatsApp API Overview](/whatsapp/overview)
- integrate [How to Send SMS](/sms/overview) into your application flow
