Changelog

Product updates, API improvements, and developer-facing changes in Bulkit.

Last updated · Markdown version

Stay up to date with Bulkit product updates, API improvements, platform enhancements, and documentation changes.

October 24, 2026

Smart Bundles (24-Hour Discounted SMS Bundles)

To lower the entry price point for SMEs and enable cost-effective flash campaigns, Bulkit introduced Smart Bundles:

  • Discounted Pricing Tiers: Purchase bundles starting at KSh 100 for 125 SMS (KSh 0.80/SMS) up to KSh 2,000 for 5,000 SMS (KSh 0.40/SMS).
  • Isolated Credit Lifecycle: Bundle credits expire 24 hours from purchase time, while regular cash float remains non-expiring and untouched.
  • Instant One-Click Purchase: Activate bundles directly from /bundles using available wallet balance.

Priority Consumption Engine (FEFO)

  • First-Expiring, First-Out: The dispatch pipeline automatically exhausts active bundle credits with the earliest expiration deadline before debiting cash float.
  • Seamless Hybrid Overflow: Broadcasts exceeding active bundle credits automatically draw the remainder from your cash wallet without failing.
  • Zero-Cash Balance Dispatch: Accounts with active bundle credits can dispatch SMS via dashboard and API even when their cash balance is KSh 0.00.
  • Automatic Failure Refunds: Credits for failed or rejected message dispatches are automatically refunded back to the originating bundle.

API v2 Balance & Transparent Dispatch

  • bundle_credits in Account Balance: GET /api/v2/account/credits now returns bundle_credits representing total active unexpired bundle units.
  • Zero Code Changes for API Dispatch: Calls to POST /api/v2/messages/sms and POST /api/v2/messages/sms/bulk transparently benefit from active bundle credits and return cost: 0.00 when covered.

Dynamic Admin Bundle Management

  • Admin Bundle Catalog: Administrators can configure and manage daily, weekly, monthly, holiday, and promotional bundles via /admin/bundles.
  • Comprehensive Auditing: Real-time tracking of bundle purchases, unit consumption, and expirations via /admin/bundles/activity.
September 30, 2026

Strict Sender ID Authorization on SMS API

To prevent unauthorized sender usage and protect brand integrity, Bulkit now strictly enforces account-level Sender ID ownership across all SMS endpoints (/api/v2/messages/sms, /api/v2/messages/sms/bulk, and legacy endpoints):

  • No Silent Defaulting: Requests specifying an unauthorized, unassigned, inactive, or mistyped sender ID or sender name now return HTTP 400 Bad Request (Invalid sender ID) rather than silently defaulting to the system shortcode (BULK_IT).
  • Explicit System Sender: To send using Bulkit's default system shortcode, callers must explicitly provide "sender": "BULK_IT".
  • Defense-in-Depth Verification: Sender resolution and queueing layers verify client authorization before deducting wallet credits or enqueueing messages.

Multi-Client Sender ID Assignment

Platform administrators can now assign a single custom or dedicated Sender ID to multiple client accounts simultaneously:

  • One-to-Many Assignment: Map a shared Sender ID across multiple sub-accounts or organizations.
  • Admin Multi-Client Dialog: Search, multi-select, and assign/unassign clients directly from /admin/sender-ids.
  • Seamless Resolution: Assigned clients can immediately send using either the alphanumeric name or the assigned Sender UUID.
September 19, 2026

WhatsApp API v2

Bulkit now offers native WhatsApp integration for automated notifications, customer support, and high-throughput broadcasts:

  • Direct Text Messaging: Send WhatsApp messages using POST /api/v2/messages/whatsapp.
  • Media & Documents: Stream media attachments up to 50MB via remote URL or direct multipart file upload (images, videos, audio, PDF documents).
  • Bulk Broadcasts: Dispatch personalized campaigns with curly brace placeholders ({first_name}) and custom variable substitution.
  • Inbound Message Streaming: Query chat history and receive inbound customer replies with decrypted media downloads.
  • Device Session Management: Real-time QR code linking and connection health monitoring (/api/v2/whatsapp/status).

Account-Level Shared Webhooks

Webhook configuration has been simplified:

  • Dedicated Webhooks Tab: Set global DLR Webhook URL and Inbox Webhook URL under /api-keys across all keys.
  • No Webhook Secrets: Removed complex signing secrets in favor of frictionless integration.
  • Standardized Headers: Webhook payloads are tagged with X-Bulkit-Webhook-Event (sms.delivered, sms.failed, sms.blacklisted, whatsapp.receipt.updated, sms.received, whatsapp.message.received).

High-Precision Float Balances & API v2 Refinements

  • Float Wallet Balances: Account credit balances now return exact floating-point numbers (e.g. 2.97 KES), supporting fractional micro-billing.
  • Simplified API Key Creation: Generating new keys only requires a descriptive Key Name.
  • Dedicated Single SMS Endpoint: OTPs and alerts can now be posted directly to POST /api/v2/messages/sms with a single mobile string.
  • UUID & Flex Shortcode Support: sender_id seamlessly accepts both modern UUID strings and legacy shortcode integers.
March 9, 2026

Contacts API

Bulkit now supports contact management via API.

New endpoints include:

  • fetching contact groups
  • creating a single contact
  • creating contacts in bulk
  • deleting contacts

SMS API validation improvements

SMS requests now return clearer, standardized errors for common send failures:

  • Invalid credentials
  • Insufficient balance
  • Invalid number
  • Invalid sender ID
  • Invalid message
  • Restricted send time

Documentation improvements

The documentation site now includes:

  • top-level sections for Documentation, Guides, API Reference, and Changelog
  • a contextual AI menu with one-click copy support
  • expanded Contacts API coverage
March 7, 2026

Scheduled SMS reliability improvements

Scheduled SMS processing was improved to ensure due messages are picked up correctly and handed off to the active queue provider.

QuickSMS request and response logging

Bulkit now stores QuickSMS API request and response logs for better operational visibility and support workflows.

API key management upgrades

Managed API keys now support:

  • multiple keys per account
  • enable and disable controls
  • webhook configuration fields
  • last-used metadata
March 1, 2026

Outbox filtering improvements

The SMS outbox gained improved filtering for:

  • network
  • sender ID
  • single date
  • date range
  • sort order

Notifications improvements

Dashboard notifications now better reflect SMS sent and failed events, with clearer unread counts and better status visibility.

Message rendering consistency

Personalized SMS placeholders are now rendered earlier in the send flow so outbox and history views reflect final message content more reliably.