Platform Features

Everything you need for business SMS

From contact management to API integration, Kimisms gives your team a complete toolkit for sending, tracking, and managing SMS at scale.

Built for reliability and scale

Every feature is designed around real business workflows — so you can focus on messaging, not infrastructure.

SMS Sending — Quick & Bulk
Send a single message or blast thousands at once. Multi-provider routing ensures every number reaches the right network.
  • Quick send to a single number instantly
  • Bulk campaigns to entire contact groups
  • Auto-routing to Safaricom, Airtel, Telkom
  • Duplicate contact removal
Contact Groups & CSV Upload
Organise recipients into targeted segments. Upload thousands of contacts via CSV in seconds.
  • Unlimited contact groups
  • CSV bulk import (up to 7 columns)
  • 6 custom fields per contact
  • Auto provider detection from prefix
Billing & M-Pesa Payments
Top up SMS credit instantly with M-Pesa STK push or Jambopay. Balance deducted per message unit.
  • M-Pesa STK push top-up
  • Jambopay integration
  • Float balance per Sender ID
  • Full transaction history
Reports & Delivery Analytics
Real-time delivery tracking with visual charts, provider breakdowns, and searchable message logs.
  • INITIATED → SENT → DELIVERED status trail
  • Dashboard charts with ApexCharts
  • Campaign logs & telco breakdown
  • Success rate calculation

Integrate SMS into your applications

Use the Kimisms REST API to send OTPs, notifications, and alerts programmatically. OAuth 2.0 authentication, idempotency support, and delivery callbacks included.

REST API with JSON — client credentials flow
Idempotency-Key header to prevent duplicates
Delivery callback to your own URL
Swagger UI interactive documentation
api_example.py
import requests

# Step 1: Get access token
token_resp = requests.post(
    "/api/generate-token",
    json={
        "grant_type": "client_credentials",
        "client_id": "your_id",
        "client_secret": "your_secret"
    }
)
token = token_resp.json()["access_token"]

# Step 2: Send SMS
resp = requests.post("/api/send-sms",
    headers={"Authorization": f"Bearer {token}"},
    json={
        "sender_name": "KIMISMS",
        "contact": "254712345678",
        "message": "Your OTP is 482910"
    }
)
# {"message_id":"...","status":"INITIATED"}

What makes Kimisms different

Designed with production requirements in mind.

3 Network Providers
Automatically route messages to Safaricom, Airtel, and Telkom Kenya based on each contact's number prefix.
Secure by Default
Email verification, role-based access, confirmation modals, and atomic balance deductions protect every operation.
Team-ready Admin
Configure email SMTP, manage sender IDs, set SMS rates, and control USSD — all from one admin portal.

Start sending SMS today

Create your account in under 2 minutes. No credit card required.