Getting started

  1. Getting started
  2. Quotes
  3. Bookings
  4. Trip updates
  5. Settlements
  6. Testing

Between the Karhoo Platform and DMS's are two distinct types of API endpoints:

  • Karhoo endpoints
    These are hosted by Karhoo and used by DMS's to push asynchronous updates to Karhoo
  • DMS endpoints
    These are hosted by the Supply Partner for Karhoo to use to request vehicle availability, quotes and bookings.

Security

Authentication is handled differently for these two classes of endpoints

Authentication

The Karhoo Supply API is authenticated using the same mechanism as all Karhoo Platform APIs. See How to authenticate for details.

Secure communications

For DMS endpoints Karhoo signs messages using a HMAC. The HMAC signature digest is computed on the payload content using the supplied secret key. This SHA256 hash is sent as lowercase hexits in the x-karhoo-request-signature header and should be used to validate all requests from Karhoo.

Contact the Karhoo team for help with the above.

API endpoints

DMS API Endpoints

The minimum set of DMS Hosted APIs are Quotes , Booking, Trip Updates and Cancellation. These are implemented as webhooks within your platform.

📘

Availability and ETA are optional

These are only used when ETA is not included in your Quotes endpoint implementation and you would like to offer On Demand ASAP bookings.

NamePurposeLocationAPI Reference
Receive New TripsDMS hosted API endpoint for receiving Karhoo trip bookingsPOST /tripReceive New Trips
Provide Trip DetailsDMS Hosted endpoint to respond to Karhoo Trip Detail requestsGET /tripProvide Trip Details
Cancel TripDMS Hosted endpoint to respond to Karhoo Trip Cancellation requestsDELETE /tripCancel Trip
Quote RequestDMS hosted API endpoint for responding to quote requestsPOST /quoteQuote Request
ETA RequestDMS hosted API endpoint for responding to ETA requestsPOST /etaETA Request
Availability RequestKarhoo Availability Request to DMSPOST /availabilityAvailability

Supply API

Our Supply API provides an option for our supply partners to push Trip Updates to us directly instead of us requesting this data from their DMS API. This is optional but highly recommended to implement to reduce our polling rate and burden it may cause for your API.

NamePurposeLocationAPI Reference
AvailabilityStream fleet wide vehicle availability to KarhooPOST /availabilityAvailability
Trip StatusSend trip updates to Karhoo in real-time.POST /trip/statusTrip Status

Swagger Spec & Auto Generation

We've made the swagger spec available here which that defines our hosted endpoints as well as what we expect our Supply Partners to implement as webhooks.

We encourage you to use this to autogenerate as much boilerplate as is useful to reduce the workload of writing the integration.


What’s Next