Kyte Developer API

Build custom logistics experiences with our powerful REST API. Integrate real-time shipping quotes, automated bookings, and status tracking directly into your application.

Authentication

The Kyte API uses API keys to authenticate requests. You can view and manage your API keys in theSettings Dashboard.

Shell / cURL
curl -X GET "https://api.sendkyte.com/deliveries/track/KY123456" \
  -H "x-api-key: kyte_pk_your_api_key_here"
POST

Get Shipping Quote

Calculate delivery costs before booking.

Request Body

  • pickupString (Required)
  • dropoffString (Required)
  • itemsArray (Required)
fetch("https://api.sendkyte.com/deliveries/quote", {
  method: "POST",
  headers: {
    "x-api-key": "kyte_pk_your_api_key_here",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    pickup: "123 Marina, Lagos",
    dropoff: "46 Wuse, Abuja",
    items: [{ weight: 2, category: "Electronics" }]
  })
})

Webhooks

Webhooks allow your application to receive real-time notifications about shipment status changes. When a status changes, we'll send a POSTrequest to your configured URL.

Example Webhook Payload

{
  "trackingId": "KY987654",
  "status": "picked-up",
  "statusLabel": "Item Picked Up",
  "location": "Lagos Hub",
  "description": "Your item has been picked up by our rider.",
  "timestamp": "2024-05-09T12:00:00Z"
}

Security & Signatures

Every webhook request includes an X-Kyte-Signature header. To ensure the request is legitimate, you should calculate the HMAC-SHA256 signature using yourwebhookSecret and compare it to the header.

Signature Calculation (Node.js)

const signature = crypto
  .createHmac('sha256', webhookSecret)
  .update(`${timestamp}.${JSON.stringify(payload)}`)
  .digest('hex');