---
title: "Changelog"
description: "Product updates, API improvements, and developer-facing changes in Bulkit."
---

# Product Updates

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

<Update
  label="September 19, 2026"
  tags={["WhatsApp", "Webhooks", "API v2", "Billing"]}
  rss={{
    title: "WhatsApp API v2, Account-Level Webhooks, and Fractional Balances",
    description:
      "Bulkit released WhatsApp API v2 with media streaming up to 50MB, unified account-level webhooks, high-precision float wallet balances, and streamlined API keys."
  }}
>
  ## 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.
</Update>

<Update
  label="March 9, 2026"
  tags={["API", "Documentation", "Improvements"]}
  rss={{
    title: "Contacts API, SMS validation improvements, and upgraded docs",
    description:
      "Bulkit added Contacts API endpoints, standardized SMS API error handling, and launched a more structured Mintlify documentation experience."
  }}
>
  ## 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
</Update>

<Update
  label="March 7, 2026"
  tags={["Messaging", "Reliability", "Infrastructure"]}
  rss={{
    title: "Scheduled SMS fixes, QuickSMS logging, and API key upgrades",
    description:
      "Bulkit improved scheduled SMS reliability, introduced QuickSMS API logging, and upgraded API key management for multiple keys and webhook settings."
  }}
>
  ## 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
</Update>

<Update
  label="March 1, 2026"
  tags={["Dashboard", "Outbox", "UX"]}
  rss={{
    title: "Outbox filtering and notification improvements",
    description:
      "Bulkit improved outbox filtering, notification handling, and rendered message consistency."
  }}
>
  ## 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.
</Update>

