> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sandbox.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Generate, update, extend, and manage GST e-way bills. Programmatically track goods movement with consignor, consignee, and transporter APIs.

# GST E-Way Bill API

GST E-Way Bill (EWB) is an electronic permit required for transporting goods worth more than INR 50,000 under GST. Use this API to generate, update, extend, cancel, and manage e-way bills programmatically—enabling automated compliance workflows for goods movement across consignor, consignee, and transporter roles.

> **Generate and fetch EWB**
>
> Generate e-way bills with Part-A data, items, and transporter details. Fetch bills by date, document data, or EWB number.

> **Update Part-B and transporter**
>
> Update vehicle details (Part-B) or change transporter assignment after generating the e-way bill.

> **Transporter operations**
>
> Transporters can list assigned e-way bills, update vehicle details, and extend validity when delays occur.

> **Consolidated and multi-vehicle**
>
> Create consolidated e-way bills for multiple consignments in one vehicle. Manage multi-vehicle movement for partial deliveries.

> **Consignee actions**
>
> Consignees can view assigned e-way bills and reject incorrect bills for audit compliance.

> **Master data and troubleshooting**
>
> Search GSTIN, transporter IDs, HSN codes, and retrieve error lists for debugging.

## Prerequisites

Before using the E-Way Bill API:

* **API credentials**: Create API credentials on the E-Way Bill portal. See [Create API credentials](https://developer.sandbox.co.in/api-reference/gst/compliance/guides/e-way-bill/authentication/create_api_credentials.md).
* **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.

> [!NOTE]
>
> **Header routing**: Use the `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

**1. Create API credentials**

Register API credentials on the E-Way Bill portal to enable programmatic access. See [Create API credentials](https://developer.sandbox.co.in/api-reference/gst/compliance/guides/e-way-bill/authentication/create_api_credentials.md).

**2. Authenticate for E-Way Bill access**

Use the [E-Way Bill Authentication](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/authenticate.md) endpoint with your portal username, password, and GSTIN to get an access token.

**3. Generate E-Way Bill**

Create an e-way bill with Part-A data (invoice details, HSN codes, values) and optionally include transporter and vehicle details.

**4. Update logistics details**

Update Part-B vehicle details when the truck is assigned, or change the transporter using the update APIs.

**5. Track and verify**

Fetch e-way bills by EWB number, date range, or document data. Verify bill status across consignor, consignee, and transporter views.

**6. Handle transporter and consignee actions**

Transporters can view and manage assigned bills. Consignees can reject incorrect e-way bills to maintain audit compliance.

**7. Advanced movement and troubleshooting**

Create consolidated e-way bills for multiple shipments. Use multi-vehicle movement for partial deliveries. Check the [error list](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/get_error_list.md) for troubleshooting.

## Quick links

Quick access to common E-Way Bill starting points:

> **[Generate E-Way Bill session](https://developer.sandbox.co.in/recipes/gst/authentication/generate_e_way_bill_session.md)**
>
> Authenticate with the E-Way Bill portal and get an access token for API operations.

> **[Generate E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/generate_e_way_bill.md)**
>
> Create a new e-way bill with invoice and transporter details.

## API categories

> **[Authentication](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/authenticate.md)**
>
> Authenticate with the E-Way Bill portal to start a session.

> **[Consignor APIs](#consignor-apis)**
>
> Generate, update, cancel, and extend e-way bills as the goods supplier.

> **[Consignee APIs](#consignee-apis)**
>
> View and reject e-way bills as the goods receiver.

> **[Transporter APIs](#transporter-apis)**
>
> List, update, and extend e-way bills as the logistics provider.

> **[Consolidated EWB](#consolidated-e-way-bill-consignor)**
>
> Create and manage consolidated e-way bills for multiple consignments.

> **[Common APIs](#common-apis)**
>
> Fetch e-way bills, search GSTIN, HSN codes, and get error lists.

## Authentication

Authenticate with the E-Way Bill portal to start a session:

| API | Method | Path |
| :- | :- | :- |
| [E-Way Bill Authentication](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/authenticate.md) | 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](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/generate_e_way_bill.md) | POST | `/gst/compliance/e-way-bill/consignor/bill` |
| [Get E-Way Bills By Date](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/get_e_way_bill_by_date.md) | GET | `/gst/compliance/e-way-bill/consignor/bills` |
| [Get E-Way Bills By Document Data](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/get_e_way_bill_by_document_data.md) | GET | `/gst/compliance/e-way-bill/consignor/bill` |
| [Cancel E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/cancel_e_way_bill.md) | POST | `/gst/compliance/e-way-bill/consignor/bill/{ewb_no}/cancel` |
| [Extend Validity](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/extend_validity.md) | POST | `/gst/compliance/e-way-bill/consignor/bill/{ewb_no}/extend` |
| [Update Vehicle Details (Part B)](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/update_vehicle_details.md) | PUT | `/gst/compliance/e-way-bill/consignor/bill/{ewb_no}/vehicle` |
| [Update Transporter](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/update_transporter.md) | PUT | `/gst/compliance/e-way-bill/consignor/bill/{ewb_no}/transporter` |

#### Consolidated e-way bill (Consignor)

| API | Method | Path |
| :- | :- | :- |
| [Consolidate E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/consolidated-e-way-bill/consolidate_e_way_bill.md) | POST | `/gst/compliance/e-way-bill/consignor/consolidated-bill` |
| [Get Consolidated Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/consolidated-e-way-bill/get_consolidated_bill.md) | GET | `/gst/compliance/e-way-bill/consignor/consolidated-bill/{consolidated_ewb_no}` |
| [Regenerate Consolidated Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/consolidated-e-way-bill/regenerate_consolidated_bill.md) | POST | `/gst/compliance/e-way-bill/consignor/consolidated-bill/{consolidated_ewb_no}/regenerate` |

#### Multi-vehicle movement (Consignor)

| API | Method | Path |
| :- | :- | :- |
| [Initiate Multi-Vehicle Movement](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/multi-vehicle-movement/initiate_multi_vehicle_movement.md) | POST | `/gst/compliance/e-way-bill/consignor/bill/{ewb_no}/multi-vehicle` |
| [Add Vehicle](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/multi-vehicle-movement/add_vehicle.md) | POST | `/gst/compliance/e-way-bill/consignor/bill/{ewb_no}/multi-vehicle/vehicle` |
| [Update Vehicle](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/multi-vehicle-movement/update_vehicle.md) | 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](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignee/get_e_way_bills_by_date.md) | GET | `/gst/compliance/e-way-bill/consignee/bills` |
| [Reject E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignee/reject_e_way_bill.md) | 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](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/get_e_way_bills_by_date_and_state.md) | GET | `/gst/compliance/e-way-bill/transporter/bills` |
| [List E-Way Bills By Generator](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/list_e_way_bills_by_generator.md) | GET | `/gst/compliance/e-way-bill/transporter/bills/by-generator` |
| [Extend Validity](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/extend_validity.md) | POST | `/gst/compliance/e-way-bill/transporter/bill/{ewb_no}/extend` |
| [Update Vehicle Details](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/update_vehicle_details.md) | PUT | `/gst/compliance/e-way-bill/transporter/bill/{ewb_no}/vehicle` |
| [Update Transporter](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/update_transporter.md) | PUT | `/gst/compliance/e-way-bill/transporter/bill/{ewb_no}/transporter` |

#### Consolidated e-way bill (Transporter)

| API | Method | Path |
| :- | :- | :- |
| [Consolidate E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/consolidated-e-way-bill/consolidate_e_way_bill.md) | POST | `/gst/compliance/e-way-bill/transporter/consolidated-bill` |
| [Get Consolidated Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/consolidated-e-way-bill/get_consolidated_bill.md) | GET | `/gst/compliance/e-way-bill/transporter/consolidated-bill/{consolidated_ewb_no}` |
| [Regenerate Consolidated Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/consolidated-e-way-bill/regenerate_consolidated_bill.md) | POST | `/gst/compliance/e-way-bill/transporter/consolidated-bill/{consolidated_ewb_no}/regenerate` |

#### Multi-vehicle movement (Transporter)

| API | Method | Path |
| :- | :- | :- |
| [Initiate Multi-Vehicle Movement](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/multi-vehicle-movement/initiate_multi_vehicle_movement.md) | POST | `/gst/compliance/e-way-bill/transporter/bill/{ewb_no}/multi-vehicle` |
| [Add Vehicle](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/multi-vehicle-movement/add_vehicle.md) | POST | `/gst/compliance/e-way-bill/transporter/bill/{ewb_no}/multi-vehicle/vehicle` |
| [Update Vehicle](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/multi-vehicle-movement/update_vehicle.md) | 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](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/get_e_way_bill.md) | GET | `/gst/compliance/e-way-bill/tax-payer/bill/{ewb_no}` |
| [Generate E-Way Bill PDF](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/generate_e_way_bill_pdf.md) | GET | `/gst/compliance/e-way-bill/tax-payer/bill/{ewb_no}/pdf/generate` |
| [Generate E-Way Bill PDF by IRN](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/generate_e_way_bill_pdf_by_irn.md) | GET | `/gst/compliance/e-way-bill/tax-payer/invoice/{irn}/pdf/generate` |
| [Get Error List](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/get_error_list.md) | GET | `/gst/compliance/e-way-bill/tax-payer/error-list` |
| [Get HSN Details](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/get_hsn_details.md) | GET | `/gst/compliance/e-way-bill/tax-payer/hsn` |
| [Search GSTIN](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/search_gstin.md) | POST | `/gst/compliance/e-way-bill/tax-payer/gstin/search` |
| [Search Transporter Id](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/search_transporter.md) | 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?**
>
> GST E-Way Bill (EWB) is an electronic permit required for transporting goods worth more than INR 50,000 under the GST regime. The e-way bill system tracks goods movement across state and intra-state borders, ensuring tax compliance and reducing tax evasion. Both the consignor (supplier) and transporter must generate or carry a valid e-way bill during transit.

> **How does GST E-Way Bill API authentication work?**
>
> GST E-Way Bill API authentication requires two steps. First, authenticate with Sandbox to get a JWT access token. Then, use the [E-Way Bill Authentication](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/authenticate.md) endpoint with your E-Way Bill portal username, password, and GSTIN to get an EWB access token. This token is used for all subsequent e-way bill operations. See the [Generate E-Way Bill session](https://developer.sandbox.co.in/recipes/gst/authentication/generate_e_way_bill_session.md) recipe for a complete walkthrough.

> **Which APIs should a consignor use to generate and manage an e-way bill?**
>
> Consignors (goods suppliers) use the [Generate E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/generate_e_way_bill.md) endpoint to create e-way bills with Part-A invoice data. After generation, consignors can [Update Vehicle Details](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/update_vehicle_details.md) to add Part-B data, [Update Transporter](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/update_transporter.md) to change logistics provider, [Extend Validity](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/extend_validity.md) for delays, or [Cancel E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/cancel_e_way_bill.md) if needed.

> **How can a transporter update vehicle details or extend validity?**
>
> Transporters can update vehicle details using the [Update Vehicle Details](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/update_vehicle_details.md) endpoint when a vehicle changes mid-transit. To extend validity due to transit delays, transporters use the [Extend Validity](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/extend_validity.md) endpoint with the remaining distance. Transporters can also list all assigned e-way bills using [Get E-Way Bills By Date and State](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/transporter/get_e_way_bills_by_date_and_state.md).

> **How do consolidated e-way bills work and when should I use them?**
>
> Consolidated E-Way Bill (CEWB) combines multiple e-way bills into a single document when a transporter carries goods from multiple consignors in one vehicle. CEWB is useful for logistics providers transporting multiple consignments to simplify checkpoint verification. Use the [Consolidate E-Way Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/consolidated-e-way-bill/consolidate_e_way_bill.md) endpoint to create a CEWB and [Get Consolidated Bill](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/consolidated-e-way-bill/get_consolidated_bill.md) to fetch details.

> **What is multi-vehicle movement and when is it required?**
>
> Multi-vehicle movement applies when goods covered by a single e-way bill are transported using multiple vehicles—for example, in partial deliveries or hub-to-hub transfers. Use [Initiate Multi-Vehicle Movement](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/multi-vehicle-movement/initiate_multi_vehicle_movement.md) to start multi-vehicle mode, then [Add Vehicle](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/consignor/multi-vehicle-movement/add_vehicle.md) for each additional vehicle in the shipment chain.

> **How do I troubleshoot E-Way Bill API errors?**
>
> E-Way Bill API errors can be debugged using the [Get Error List](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/e-way-bill/common/get_error_list.md) endpoint, which returns all error codes and descriptions from the E-Way Bill portal. For general API error handling patterns and HTTP status codes, see the [Errors guide](https://developer.sandbox.co.in/guides/developer-resources/errors.md). Common issues include invalid GSTIN format, expired sessions, and missing Part-B data.

> **What is the x-source header and when should I use primary/secondary/tertiary?**
>
> The `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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.