⚡ Partner REST API v1

Developer Documentation & API Reference

Integrate on-demand ride dispatch, freight logistics, event attendee passes, and real-time telemetry directly into your applications.

1. Authentication & Security

All requests to the Partner API require authentication via an API Key. Provide your API key in the Authorization header as a Bearer token or in the X-API-KEY request header.

# Example Header
Authorization: Bearer tk_live_9b4e82c7a10f8d3...
Content-Type: application/json

2. API Endpoints Catalog

POST /api/v1/estimates
Scope: estimates:read

Estimate Fare & Duration

Calculates upfront fare quotes, distance, and duration across all vehicle tiers for given coordinates.

POST /api/v1/rides
Scope: rides:write

Request Ride

Creates and dispatches a ride request programmatically to nearby driver partners.

GET /api/v1/rides/:id
Scope: rides:read

Get Ride & Driver Telemetry

Queries live trip status, driver details, and current vehicle coordinates.

POST /api/v1/rides/:id/cancel
Scope: rides:write

Cancel Ride

Cancels an active or pending ride request.

POST /api/v1/deliveries
Scope: deliveries:write

Book Courier Delivery

Dispatches on-demand package delivery with sender/recipient info, weight tiers, and security PIN.

GET /api/v1/deliveries/:id
Scope: deliveries:read

Track Delivery & Proof

Returns parcel status, courier telemetry, and proof-of-delivery confirmation data.

GET /api/v1/webhooks
Scope: webhooks:manage

List Webhooks

Returns all outgoing webhook endpoints subscribed to real-time mobility events.

POST /api/v1/webhooks
Scope: webhooks:manage

Register Webhook

Subscribes an HTTPS URL to trip and delivery state updates with HMAC-SHA256 signatures.

3. Real-Time Webhooks & HMAC Signatures

Teckwik Mobility delivers real-time notifications to your server when trips progress or courier packages are delivered. Each webhook payload includes an HMAC-SHA256 signature calculated with your endpoint secret in the X-Teckwik-Signature header.

# Verify signature in Ruby / Rails
expected_sig = "sha256=" + OpenSSL::HMAC.hexdigest("SHA256", webhook_secret, request.raw_post)
verified = ActiveSupport::SecurityUtils.secure_compare(expected_sig, request.headers["X-Teckwik-Signature"])