EazyGo Agent Booking API

The agent API lets a travel agency's own website, booking engine or back office book EazyGo cabs anywhere EazyGo runs: local and airport transfers, hourly rentals, and outstation one-way and round trips. It's the same service as the agent panel, with the same prices, wallet and cancellation rules.

Base URL: https://eazygo.in/api/agent/v1

How a booking works

  1. Find the ids. GET /cities and GET /airports give the city and airport ids a trip is quoted with.
  2. Get a quote. POST /quotes with the trip returns every vehicle that can do it with your agency's price, plus a quote_token that is valid for 30 minutes.
  3. Book. POST /bookings with the quote_token, the vehicle, the passenger and the pickup address. EazyGo prices the trip again, takes the full amount from your agency wallet and confirms the booking at once. Send an Idempotency-Key header so a retried request never books twice.
  4. Track. GET /bookings/{reference} shows the status, and the driver and vehicle once they're assigned. You can also have webhooks posted to your server as the trip moves along.
  5. Cancel if plans change. POST /bookings/{reference}/cancel cancels the booking and refunds your wallet, less the cancellation charge.

Before you start

  • Your agency needs an approved EazyGo agent account. Sign up as an agent if you don't have one.
  • Ask EazyGo support to enable API access for your agency.
  • The agency owner creates API keys on the agent panel under API Access. See Authentication.
  • Keep your wallet topped up. Bookings are paid in full from it.

Conventions

  • All requests and responses are JSON (Content-Type: application/json), except the invoice download, which is a PDF.
  • Money is in Indian rupees (INR) as a number with up to two decimals.
  • Times are Indian Standard Time. You send pickup_date as YYYY-MM-DD and pickup_time as HH:MM (24-hour, IST). Responses give times in ISO 8601 with the +05:30 offset, e.g. 2026-11-20T07:30:00+05:30.
  • Every response has a success flag. Successful responses carry data, and lists also carry meta for paging:
{
  "success": true,
  "data": { "...": "..." }
}
  • Errors carry a machine-readable error code and a human-readable message. Validation errors also carry errors, keyed by field. See Errors.
{
  "success": false,
  "message": "This quote has expired or is not valid. Please ask for a new quote.",
  "error": "QUOTE_EXPIRED"
}

Endpoints

Method Path What it does
GET /cities Cities a kind of trip runs from (and, for outstation, to)
GET /airports Airports for local airport transfers
POST /quotes Every vehicle's price for a trip, plus a quote_token
POST /bookings Book a quoted vehicle, paid from the wallet
GET /bookings Your bookings, newest first
GET /bookings/{reference} One booking
GET /bookings/{reference}/cancellation What cancelling now would cost
POST /bookings/{reference}/cancel Cancel and refund to the wallet
GET /bookings/{reference}/invoice EazyGo's GST tax invoice (PDF)
GET /wallet Wallet balance
GET /wallet/transactions Wallet ledger

A machine-readable description of every endpoint is at openapi.json. Import it into Postman or Insomnia, or generate a client from it.

Testing

EazyGo can set you up on its staging site with a test wallet. Ask support for access. Staging works exactly like the live API, but no real cabs are sent.

Sign in with Mobile
Enter your mobile number to receive OTP