Get Started

Introduction

KasaNow is the premier programmable SMS API for developers and businesses in Ghana and across Africa.

To get started with KasaNow, you'll need:

  1. 1A KasaNow account: Sign up or Sign in to access your developer portal.
  2. 2SMS Wallet Credits: Top up your balance to unlock API key generation.
  3. 3A KasaNow Live API Key: Include your key in the x-api-key request header.
Authentication & Approval Requirement

Account & Approval Access

Developers must log into a verified KasaNow account. Your account must be approved before you can generate API keys or execute outbound messages.

1. Sign In & Verify

Sign up and log in to view your profile, SMS credit balance, and Sender IDs.

2. Account Approval

Your account must be approved before API key creation is unlocked.

SMS Bundles & Top Up

SMS Pricing & Top Up

Your account must be approved before you can access API key creation. KasaNow operates on a prepaid credit balance for outbound SMS messages.

0 - 100 SMS
0.070 / SMS

Starter Developer Tier

0 - 500 SMS
0.080 / SMS

Growth Tier

1000+ SMS
0.050 / SMS

Reseller & High Volume Tier

Dashboard

Create your Live API Key

Go to API Keys in your dashboard sidebar. Once your account is approved by admin, click + Create to issue your live secret API key.

Required HeadersHeader Key
Public Supabase Gateway Keyapikey
Secret KasaNow API Keyx-api-key
Branding & Compliance

Sender ID Registration Guide

The sender parameter represents the custom name displayed on recipient mobile devices (e.g., "KASANOW" or your registered brand).

Max 11 Characters

Alphanumeric names must be 1 to 11 characters long (A-Z, a-z, 0-9). Spaces are permitted.

Telecom & NCA Approval

In Ghana, custom company Sender IDs are verified against registered business names to prevent spoofing.

Default Testing Sender ID

During sandbox testing or before your custom Sender ID is approved, use the default pre-approved ID: "KASANOW".

Format Helper

Phone Number Formatting

KasaNow automatically formats phone numbers to international standard E.164. However, adhering to recommended formats ensures maximum delivery speed across MTN, Telecel, and AT Ghana networks.

International E.164 (Recommended)
233XXXXXXXXX or +233XXXXXXXXX
Preferred
Local Ghana Format
0241234567 / 0501234567
Auto-converted to 233
Multiple Numbers / Bulk
233240000000, 233500000000
Comma-separated string

Quickstart

Learn how to make your first HTTP request to send SMS using cURL or your framework of choice.

POST /functions/v1/sms-send
curl -X POST https://lgjfiquiaynelpxrybowl.supabase.co/functions/v1/sms-send \
  -H "Content-Type: application/json" \
  -H "apikey: YOUR_SUPABASE_ANON_KEY" \
  -H "x-api-key: YOUR_SECRET_KASANOW_API_KEY" \
  -d '{
    "sender": "KASANOW",
    "to": "233XXXXXXXXX, 233YYYYYYYYY",
    "message": "Hello from Kasanow SMS reseller API"
  }'
Sandbox & Collection

Postman Collection

Test the KasaNow SMS API in your Postman workspace without writing code. Import pre-configured requests for sending single SMS, bulk messaging, and checking delivery logs.

Official Postman Collection v2.1

Includes pre-set headers for apikey and x-api-key.

{
  "info": {
    "name": "KasaNow SMS API Collection",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Send SMS",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Content-Type", "value": "application/json" },
          { "key": "apikey", "value": "{{SUPABASE_ANON_KEY}}" },
          { "key": "x-api-key", "value": "{{KASANOW_API_KEY}}" }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sender\": \"KASANOW\",\n  \"to\": \"233241234567\",\n  \"message\": \"Hello from KasaNow Postman collection!\"\n}"
        },
        "url": {
          "raw": "https://lgjfiquiaynelpxrybowl.supabase.co/functions/v1/sms-send"
        }
      }
    }
  ]
}
API Fundamentals

Authentication

The KasaNow Edge API authenticates requests using two HTTP headers.

apikeyPublic Header

The public Supabase gateway key. Required to route the request through the edge infrastructure safely.

x-api-keySecret Header

Your secret KasaNow reseller key generated in the dashboard. Authenticates your account and bills your credit balance.

Error Codes

KasaNow uses standard HTTP response codes to indicate success or failure.

200 OKMessage delivered or queued successfully.
400 Bad RequestMissing fields (sender, to, message) or invalid phone format.
401 UnauthorizedInvalid or missing x-api-key header.
402 Payment RequiredInsufficient wallet balance. Top up credits in dashboard.
429 Rate ExceededToo many requests. Back off and retry.

Webhooks

Receive real-time notifications for delivery reports directly to your server endpoint without polling.

Signed Event PayloadHTTP 200 POST
{
  "event": "sms.delivered",
  "message_id": "msg_8091241",
  "to": "233240000000",
  "status": "DELIVERED",
  "delivered_at": "2026-08-24T14:30:00Z",
  "units_deducted": 1
}
Endpoints
POST/functions/v1/sms-send

Send Single SMS

Sends an SMS to one or multiple recipient phone numbers in Ghana (233XXXXXXXXX).

JSON Body Parameters
senderRequired

Approved Sender ID name (e.g. "KASANOW").

toRequired

Recipient number(s) in format "233XXXXXXXXX" or comma-separated list.

messageRequired

Text message body (e.g. "Hello from Kasanow SMS reseller API").

Sample Response (200 OK)
{
  "status": "success",
  "message_id": "msg_90128419",
  "recipients_count": 2,
  "units_charged": 2,
  "balance_remaining": 98.0
}
POST/functions/v1/sms-send

Bulk Messaging

To send bulk SMS to multiple recipients at once, supply comma-separated numbers in the to parameter.

Bulk JSON Request Body
{
  "sender": "KASANOW",
  "to": "233241112222, 233503334444, 233205556666",
  "message": "Special Announcement: KasaNow Bulk SMS is active!"
}
GET/functions/v1/sms-status?id=msg_90128419

Delivery Reports

Retrieve logs, carrier response status, delivery timestamps, and network details for any message.

Status Response
{
  "message_id": "msg_90128419",
  "status": "DELIVERED",
  "network": "MTN GHANA",
  "delivered_at": "2026-08-24T14:31:02Z"
}