All e-way bill and e-invoice API calls

Get e-way bill details by e-way bill number

POST /v1/ewaybill/details

Short answer

Send a 12-digit e-way bill number and get the whole document back: the parties, item list, status (active or cancelled), validity, number of extensions and the vehicle-update history. The data is passed through exactly as the government network returns it.

Cost: 1 credit per call that reaches the government network, including one that finds nothing. A request that never reaches it (missing fields, no credits) is free.

Every call accepts "test_mode": true and returns a sample in the live shape, free. Set up your API credentials before the first real call.

What comes back

The details object keeps the government's own field names and casing (ewbNo, fromGstin, itemList, VehiclListDetails and so on) rather than gstinapi.in's usual snake_case. That keeps every field the network adds available without waiting for a release here.

Reading the status

status is ACT for an active e-way bill and CNL for a cancelled one. validUpto is the validity end, and extendedTimes counts how often it was extended. A regenerated consolidated e-way bill's old trip sheet reads back as CNL on the consolidated call, not here.

Request fields

FieldTypeRequiredMeaning
gstinstringYesThe GSTIN you act as, with API access set up.
gstin_usernamestringYesThe e-way bill API username for that GSTIN. Never stored.
passwordstringYesThe matching API password. Never stored.
ewaybill_nostringYesThe 12-digit e-way bill number.
test_modebooleanNotrue returns a sample in the live shape: free, nothing is filed.

Send your API key in the x-api-key header. Government API credentials are used for the one call and never stored.

Example

The request below runs in test mode, so it is free and files nothing. Remove test_mode for a real call.

curl -X POST "https://www.gstinapi.in/v1/ewaybill/details" \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{ "gstin": "24AAAAA0000A1Z5", "gstin_username": "YOUR_EWB_API_USER", "password": "YOUR_EWB_API_PASSWORD", "ewaybill_no": "351000000123", "test_mode": true }'

Response

{
  "success": true,
  "details": {
    "ewbNo": 351000000123,
    "docType": "INV",
    "docNo": "INV-1001",
    "status": "ACT",
    "validUpto": "24/10/2026 11:59:00 PM",
    "extendedTimes": 0,
    "itemList": [ { "productName": "...", "hsnCode": 8471, "quantity": 2, "taxableAmount": 2000 } ]
  },
  "billed_to": "paid",
  "credits_remaining": 199
}

Errors you can expect

CodeMessageWhat to do
325Could not retrieve dataNo e-way bill is available to you under that number. It is charged like a match, because the call reached the network.

All e-way bill API error codes

Questions

Can I read an e-way bill another party generated?
You can read an e-way bill your GSTIN is a party to. A number that is not visible to your GSTIN answers with "Could not retrieve data".
Is the response reformatted?
No. The details object is the government network's own JSON, passed through unchanged.

Not affiliated with the Government of India. Rules are the government network's own and can change; if a page here looks out of date, tell us.