Salami Gateway

API Documentation
Back to Dashboard

Salami Gateway

Salami Gateway is a unified API platform built for businesses operating in Kenya and East Africa. It consolidates payments processing, SMS and messaging, and KRA tax compliance into a single developer-friendly interface -- so you integrate once and access everything.

Whether you need to collect M-Pesa payments, send bulk SMS, validate KRA PINs, or submit eTIMS invoices, Salami gives you one set of credentials, one consistent API style, and one dashboard to manage it all.


Platform modules

Payments

Process and disburse funds through Kenya's major mobile money and banking rails.

Capability Description
STK Push Prompt customers to pay from their phone (M-Pesa, Airtel Money)
C2B / B2C / B2B Customer-to-business, business-to-customer, and business-to-business transfers
Balance inquiry Check your float or account balance in real time
Transaction status Query provider systems for definitive transaction outcomes
Reversals Reverse erroneous transactions
Airtime top-up Send airtime directly to any mobile number
Callback handling Receive and process payment notifications from providers

Supported providers include Safaricom M-Pesa, Airtel Money, MTN Mobile Money, Equity Bank (EazzyPay), Kopokopo, and more.

Payments API reference →

SMS & Messaging

Send and receive messages at scale through 130+ global providers.

Capability Description
Single & bulk SMS Send to one recipient or millions
Two-way messaging Receive inbound SMS and reply programmatically
Group messaging Organise contacts into groups and message them together
Inbox & outbox Query message history with full delivery status
Android gateway sync Use an Android phone as an SMS gateway via SMSSync / MSync
Delivery reports Real-time DLR callbacks from the carrier network

SMS API reference →

KRA & Tax Compliance

Two sub-modules cover the full spectrum of KRA integration.

KRA Portal (developer.go.ke APIs)

Capability Description
PIN checker Validate a KRA PIN or look it up by ID number
Tax obligation checker Retrieve a taxpayer's registered obligations
TCC validation Verify Tax Compliance Certificates
Invoice & declaration lookup Check KRA invoice numbers and customs declarations
Exemption checks IT exemption, VAT exemption, import certificates, excise licences
PRN generation Generate Payment Reference Numbers for IT, rental, and VAT withholding taxes
PIN registration Register new individual KRA PINs
Tax returns File TOT and NIL returns
TCC application Apply for a Tax Compliance Certificate

eTIMS OSCU (electronic Tax Invoice Management System)

Capability Description
Device management Initialize and query your OSCU device
Sales & purchases Submit, retrieve, cancel, and list invoices
Credit notes & reverse invoices Issue corrections against previous sales
Item management Register, update, and query stock items
Stock movements Record stock-in, stock-out, and adjustments
Customers & suppliers Maintain your trading partner registry
Code tables Download countries, currencies, payment types, and tax types from KRA
Notices Retrieve and acknowledge KRA notices
Reports Sales, purchases, stock, and sales summary reports
Invoice verification Verify the authenticity of eTIMS invoices

KRA API reference → | eTIMS API reference →

Attendance & Biometrics

Centralized biometric attendance data collection and distribution to multiple consumer systems.

Capability Description
Device sync Receive biometric scan data from on-premise ZKTeco sync agents
BioTime cloud Pull attendance data from ZKTeco BioTime cloud API
Scan storage Store all raw scans with full audit trail
Webhook fan-out HMAC-signed delivery to registered consumers (Hub, HimaHR, etc.)
Device management Register devices, manage API tokens
Agent downloads Distribute sync agent binaries with per-OS setup instructions

Attendance API reference →


Base URL

Salami is multi-tenant. Every organisation gets its own subdomain:

https://{tenant}.salami.dgl.co.ke/api/

Replace {tenant} with the subdomain you were assigned when your account was created. All examples in this documentation use the placeholder yourtenant.

Module prefixes

Module Base path
Payments /api/pay/...
SMS /api/sms/...
KRA Portal /api/kra/... (checkers, payments, compliance, registration, returns)
eTIMS OSCU /api/kra/etims/...
Attendance /api/attendance/... (scans, devices, agent downloads)

Full example:

https://yourtenant.salami.dgl.co.ke/api/pay/apps
https://yourtenant.salami.dgl.co.ke/api/sms/apps/1/send
https://yourtenant.salami.dgl.co.ke/api/kra/checkers/pin
https://yourtenant.salami.dgl.co.ke/api/kra/etims/sales/submit

API versioning

The current API is v1 and is served at the base URL above with no version prefix. If a breaking change is introduced in the future, it will be served under a /v2/ prefix and the existing endpoints will continue to work unchanged. Deprecation notices will be published at least 90 days in advance.

Non-breaking additions (new fields in responses, new optional parameters, new endpoints) are shipped continuously and do not require a version bump.


Response format

Every endpoint returns JSON with a consistent envelope:

{
  "success": true,
  "data": { },
  "message": "OK"
}

On failure:

{
  "success": false,
  "error": "Human-readable error message"
}

See Error Codes for the full reference.


Quick links

Resource Link
Getting started getting-started.md
Authentication authentication.md
Error codes error-codes.md
Payments API api/payments-api.md
SMS API api/sms-api.md
eTIMS API api/etims-api.md
FAQs faqs.md

Support

Channel Detail
Email support@dgl.co.ke
Documentation site https://docs.salami.dgl.co.ke
Status page https://status.salami.dgl.co.ke
PHP SDK https://github.com/deadangroup/salami-sdk

Built and maintained by Deadan Group Limited.


Need help? Contact us at support@dgl.co.ke
© 2026 Deadan Group Limited. All rights reserved.
⚡ API Explorer
LIVE
// Response will appear here...