Plug your system into the network
Serviceability, rates, shipment creation, labels, tracking, proof of delivery and NDR handling — over a versioned REST API. A competent developer should get from signup to a tracked test shipment in under thirty minutes without talking to anyone here.
Versioned and stable
Path-versioned at /api/v1. Additive changes only within a version, with a six-month deprecation notice and a Sunset header before anything is removed.
Idempotent by default
Every POST that creates freight or moves money takes an Idempotency-Key. A retry after a timeout returns the original shipment — never a duplicate.
Webhooks, not polling
HMAC-signed with a timestamp and replay protection. Eight retries over 24 hours, a dead-letter queue, and a self-serve replay button.
A sandbox that lies usefully
Force a delivery, a failure, an NDR or a bus cancellation on demand. You test the unhappy paths without waiting for reality to produce one.
Scoped keys
Per environment and per capability, rotatable, revocable, with last-used visible and an optional IP allowlist. No key ever reads across accounts.
Or just send us a file
A scheduled CSV drop over SFTP is a first-class integration, not a workaround. For a lot of ERPs here, it is genuinely the right answer.
Core endpoints
GET
/api/v1/serviceabilityCan we serve this lane, for this parcel?
POST
/api/v1/quotesRanked options with price, ETA and service level
POST
/api/v1/shipmentsCreate a shipment — idempotent
GET
/api/v1/shipments/{id}/labelLabel as PDF, PNG or ZPL
GET
/api/v1/shipments/{id}/trackingFull event timeline
GET
/api/v1/shipments/{id}/podProof of delivery, JSON and PDF
POST
/api/v1/pickupsOne pickup, many shipments
POST
/api/v1/shipments/bulkAsync bulk create with a job id
GET
/api/v1/ndrFailed deliveries with action endpoints
Webhook events
shipment.createdshipment.confirmedshipment.picked_upshipment.handed_to_busshipment.bus_departedshipment.arrivedshipment.out_for_deliveryshipment.deliveredshipment.failedshipment.returnedshipment.delayedcod.remittedinvoice.generatedSignature
X-Turant-Signature: t=1758620400, v1=hmac_sha256(t + "." + body, secret) X-Turant-Event-Id: evt_01j9x... X-Turant-Delivery-Attempt: 1
Verify the signature, reject anything outside a five-minute window, and de-duplicate on the event id. We retry; you should expect to see an event more than once.
Request API access
Sandbox keys and the full OpenAPI specification go out with your business account. Tell us what you are building and we will send credentials and a Postman collection.
Not a developer? Turant for Business covers bulk dispatch, credit and COD without writing any code.