GST E-Way Bill API
GST E-Way Bill (EWB) is an electronic permit used for tracking the movement of goods under GST. Use this API to authenticate with the E-Way Bill system and generate, fetch, update, extend, cancel, consolidate, and manage multi-vehicle movement of e-way bills programmatically. The GST E-Way Bill API enables automated compliance workflows for goods movement and lets you create and update e-way bills (Part-A/Part-B), track shipments across stakeholders (consignor, consignee, transporter), and maintain audit-ready logistics records.Generate and fetch EWB
Update Part-B and transporter
Transporter operations
Consolidated and multi-vehicle
Consignee actions
Master data and troubleshooting
Prerequisites
Before using the E-Way Bill API:- API credentials: Create API credentials on the E-Way Bill portal. See Create API credentials.
- Sandbox JWT token: Authenticate with Sandbox to get an access token.
- E-Way Bill session: Authenticate with the E-Way Bill portal to get an EWB access token.
x-source header to specify the E-Way Bill server: primary (default), secondary, or tertiary. This helps with load balancing and failover.How it works
Create API credentials
Authenticate for E-Way Bill access
Generate E-Way Bill
Update logistics details
Track and verify
Handle transporter and consignee actions
Advanced movement and troubleshooting
Quick links
Quick access to common E-Way Bill starting points:Generate E-Way Bill session
Generate E-Way Bill
API categories
Authentication
Consignor APIs
Consignee APIs
Transporter APIs
Consolidated EWB
Common APIs
Authentication
Authenticate with the E-Way Bill portal to start a session:| API | Method | Path |
|---|---|---|
| E-Way Bill Authentication | POST | /gst/compliance/e-way-bill/tax-payer/authenticate |
Consignor APIs
APIs for the goods supplier (consignor) to generate and manage e-way bills:| API | Method | Path |
|---|---|---|
| Generate E-Way Bill | POST | /gst/compliance/e-way-bill/consignor/bill |
| Get E-Way Bills By Date | GET | /gst/compliance/e-way-bill/consignor/bills |
| Get E-Way Bills By Document Data | GET | /gst/compliance/e-way-bill/consignor/bill |
| Cancel E-Way Bill | POST | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/cancel |
| Extend Validity | POST | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/extend |
| Update Vehicle Details (Part B) | PUT | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/vehicle |
| Update Transporter | PUT | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/transporter |
Consolidated e-way bill (Consignor)
| API | Method | Path |
|---|---|---|
| Consolidate E-Way Bill | POST | /gst/compliance/e-way-bill/consignor/consolidated-bill |
| Get Consolidated Bill | GET | /gst/compliance/e-way-bill/consignor/consolidated-bill/{consolidated_ewb_no} |
| Regenerate Consolidated Bill | POST | /gst/compliance/e-way-bill/consignor/consolidated-bill/{consolidated_ewb_no}/regenerate |
Multi-vehicle movement (Consignor)
| API | Method | Path |
|---|---|---|
| Initiate Multi-Vehicle Movement | POST | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/multi-vehicle |
| Add Vehicle | POST | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/multi-vehicle/vehicle |
| Update Vehicle | PUT | /gst/compliance/e-way-bill/consignor/bill/{ewb_no}/multi-vehicle/vehicle |
Consignee APIs
APIs for the goods receiver (consignee) to view and manage assigned e-way bills:| API | Method | Path |
|---|---|---|
| Get E-Way Bills By Date | GET | /gst/compliance/e-way-bill/consignee/bills |
| Reject E-Way Bill | POST | /gst/compliance/e-way-bill/consignee/bill/{ewb_no}/reject |
Transporter APIs
APIs for logistics providers (transporters) to manage e-way bills:| API | Method | Path |
|---|---|---|
| Get E-Way Bills By Date and State | GET | /gst/compliance/e-way-bill/transporter/bills |
| List E-Way Bills By Generator | GET | /gst/compliance/e-way-bill/transporter/bills/by-generator |
| Extend Validity | POST | /gst/compliance/e-way-bill/transporter/bill/{ewb_no}/extend |
| Update Vehicle Details | PUT | /gst/compliance/e-way-bill/transporter/bill/{ewb_no}/vehicle |
| Update Transporter | PUT | /gst/compliance/e-way-bill/transporter/bill/{ewb_no}/transporter |
Consolidated e-way bill (Transporter)
| API | Method | Path |
|---|---|---|
| Consolidate E-Way Bill | POST | /gst/compliance/e-way-bill/transporter/consolidated-bill |
| Get Consolidated Bill | GET | /gst/compliance/e-way-bill/transporter/consolidated-bill/{consolidated_ewb_no} |
| Regenerate Consolidated Bill | POST | /gst/compliance/e-way-bill/transporter/consolidated-bill/{consolidated_ewb_no}/regenerate |
Multi-vehicle movement (Transporter)
| API | Method | Path |
|---|---|---|
| Initiate Multi-Vehicle Movement | POST | /gst/compliance/e-way-bill/transporter/bill/{ewb_no}/multi-vehicle |
| Add Vehicle | POST | /gst/compliance/e-way-bill/transporter/bill/{ewb_no}/multi-vehicle/vehicle |
| Update Vehicle | PUT | /gst/compliance/e-way-bill/transporter/bill/{ewb_no}/multi-vehicle/vehicle |
Common APIs
Shared endpoints for fetching e-way bills, searching master data, and troubleshooting:| API | Method | Path |
|---|---|---|
| Get E-Way Bill | GET | /gst/compliance/e-way-bill/tax-payer/bill/{ewb_no} |
| Get Error List | GET | /gst/compliance/e-way-bill/tax-payer/error-list |
| Get HSN Details | GET | /gst/compliance/e-way-bill/tax-payer/hsn |
| Search GSTIN | POST | /gst/compliance/e-way-bill/tax-payer/gstin/search |
| Search Transporter Id | POST | /gst/compliance/e-way-bill/tax-payer/transin/search |
Common use cases
Use the GST E-Way Bill API when you need to:- Generate e-way bills for outbound shipments when an invoice is created in an ERP (manufacturing or wholesale dispatch)
- Update Part-B vehicle details when the truck is assigned late or the vehicle changes mid-transit
- Extend e-way bill validity when delays occur due to breakdown, rerouting, weather, or roadblocks based on remaining distance
- Create a consolidated e-way bill for a transporter carrying multiple consignments in one vehicle for faster checkpoint verification
- Use multi-vehicle movement when one e-way bill’s goods are moved in parts across multiple vehicles (partial deliveries or hub transfers)
- Allow consignees to reject an incorrect e-way bill (wrong GSTIN or invoice mapping) and keep records auditable
Frequently asked questions
What is a GST e-way bill (EWB) and why is it needed?
What is a GST e-way bill (EWB) and why is it needed?
How does GST E-Way Bill API authentication work?
How does GST E-Way Bill API authentication work?
Which APIs should a consignor use to generate and manage an e-way bill?
Which APIs should a consignor use to generate and manage an e-way bill?
How can a transporter update vehicle details or extend validity?
How can a transporter update vehicle details or extend validity?
How do consolidated e-way bills work and when should I use them?
How do consolidated e-way bills work and when should I use them?
What is multi-vehicle movement and when is it required?
What is multi-vehicle movement and when is it required?
How do I troubleshoot E-Way Bill API errors?
How do I troubleshoot E-Way Bill API errors?
What is the x-source header and when should I use primary/secondary/tertiary?
What is the x-source header and when should I use primary/secondary/tertiary?
x-source header specifies which E-Way Bill server to route requests to: primary (default), secondary, or tertiary. This header enables load balancing and failover when one server is unavailable or slow. Use primary for normal operations. Switch to secondary or tertiary if you experience timeouts or the primary server is under maintenance. Include this header in all E-Way Bill API requests.