Developers
Send a real request in the next minute
The endpoints on this page are a working sandbox. They validate requests as described but never contact Safaricom.
API playground
POST /api/v1/skiza
application/json
Response
Send the request to see the real response from this sandbox.
Register a Skiza code
curl -X POST https://tekglob.com/api/v1/skiza \
-H "Content-Type: application/json" \
-d '{
"title": "Baraka",
"artist": "Amani Sounds",
"language": "Swahili",
"category": "Gospel",
"payoutMsisdn": "0712345678",
"audioFormat": "mp3"
}'Handle a USSD hop
curl -X POST https://tekglob.com/api/v1/ussd \
-d "sessionId=abc123" \
--data-urlencode "serviceCode=*384#" \
-d "phoneNumber=254712345678" \
--data-urlencode "text=1*1"
# END This month: KES 4,250. Sample data.Webhook specs
USSD callback
Sandbox liveSent form-encoded on each hop. Reply with text/plain starting with CON or END .
| Field | Meaning |
|---|---|
| sessionId | Stays the same for every hop in a session |
| serviceCode | The code dialed, such as *384# |
| phoneNumber | Subscriber MSISDN in 254XXXXXXXXX format |
| text | All input so far, joined with *. Empty on the first hop |
Skiza claim status
Draft: not yet sentThe planned event shape for when a claim changes status. It may change before release.
POST https://your-app.example/webhooks/skiza
Content-Type: application/json
{
"event": "claim.status_changed",
"claimId": "clm_1a2b3c",
"status": "APPROVED",
"dialString": "*811*123456#"
}