---
title: "Introduction"
description: "Understand what Bulkit offers and how its developer-facing API is structured."
---

# Bulkit

Bulkit is a REST-style messaging platform for developers who need to send SMS, dispatch WhatsApp messages, check account credit, and automate messaging workflows from their own applications.

It is designed for:

- product teams building transactional alerts and multi-channel customer communications
- internal systems that need programmatic SMS and WhatsApp delivery
- developers integrating balance checks, broadcasts, and inbound message handling into CRMs, ERPs, and web apps

## What you can do with the API

Bulkit’s developer API supports:

- **Authentication**: Isolated managed API keys with support for headers, Basic Auth, and query params
- **Account**: Checking real-time float credit balance and wallet currency
- **SMS Messaging**: Sending single SMS, bulk broadcasts, and scheduled messages using registered sender IDs
- **WhatsApp Messaging**: Sending direct text chats, rich media attachments (PDFs, images, audio, video up to 50MB), and personalized broadcasts
- **Contacts Management**: Programmatically managing contact groups and phone numbers
- **Webhooks**: Receiving real-time delivery reports and inbound customer replies via shared account-level endpoints

## Base URL

```bash
https://api.bulkitsms.com
```

All examples in this documentation assume the `/api/v2` API namespace.

## Response format

Most successful responses follow this structure:

```json
{
  "status": "success",
  "message": "Request processed successfully",
  "data": {
    "id": "7b8f844a-f5e2-4144-84c4-f655e88b2a1a",
    "cost": 0.03,
    "currency": "KES"
  }
}
```

Most error responses follow this structure:

```json
{
  "status": "error",
  "message": "Invalid credentials"
}
```

## API style

Bulkit uses:

- JSON request and response bodies for `POST` endpoints
- predictable error messages for common integration failures
- timezone-aware timestamps for scheduled sends
- normalized Kenyan mobile numbers in `2547...` or `2541...` format
- multipart file upload or remote media URL fetching for rich attachments

<Info>
Bulkit supports both newer managed API keys and legacy client API keys. Existing legacy integrations continue to work while new integrations benefit from simplified key creation and dedicated account-level webhooks.
</Info>

## Recommended reading order

If you are integrating for the first time, read the pages in this order:

1. [Quickstart](/quickstart)
2. [Generating API Keys](/generating-api-keys)
3. [Authentication Overview](/authentication/overview)
4. [Get Account Balance](/account/get-account-balance)
5. [How to Send SMS](/sms/overview)
6. [WhatsApp API Overview](/whatsapp/overview)
7. [Webhooks Overview](/webhooks/overview)

