Generate E-Way Bill

Generate a new E-Way Bill. The EWB-portal credential associated
with the GSTIN supplied in the gstin header is used to sign
the call to NIC on the caller's behalf.

Choose one transport shape (see EWayBillTransport):

  • Full EWB (Part-B): include transport.vehicleNumber
    (+ vehicleType) with transport.transportMode.
  • Part-A slip: include a valid transport.transporterId and
    omit transport.transportMode / vehicle fields — the
    assigned transporter adds Part-B later via
    POST /v1/ewaybills/partb. Sending transportMode without a
    vehicle is rejected by NIC with Vehicle number is required.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
enum
required

Supply direction. Required.

  • O — Outward (consigner sending goods)
  • I — Inward (consigner receiving goods)
Allowed:
string
enum
required

NIC sub-supply code. Required.

  • 1 — Supply
  • 2 — Import
  • 3 — Export
  • 4 — Job Work
  • 5 — For Own Use
  • 6 — Job Work Returns
  • 7 — Sales Return
  • 8 — Others (subSupplyDescription becomes required)
  • 9 — SKD/CKD
  • 10 — Line Sales
  • 11 — Recipient Not Known
  • 12 — Exhibition or Fairs
string | null

Required when subSupplyType is 8 (Others).

string
enum
required

Document type backing the consignment. Required.

  • INV — Tax Invoice
  • BIL — Bill of Supply
  • BOE — Bill of Entry
  • CHL — Delivery Challan
  • CNT — Contract
  • OTH — Others
Allowed:
string
required
length ≤ 16

Document / invoice number. Maximum 16 characters; NIC accepts only alphanumerics and / -. Longer or otherwise invalid values are rejected with Invalid Invoice Number.

date
required
integer
enum
required

NIC transaction type. Required.

  • 1 — Regular (single consignor, single consignee)
  • 2 — Bill-To / Ship-To (bill goes to one party, goods ship to another)
  • 3 — Bill-From / Dispatch-From (bill from one location, goods dispatched from another)
  • 4 — Combination (Bill-To/Ship-To AND Bill-From/Dispatch-From together)

For Bill-To/Ship-To and Bill-From/Dispatch-From, the ship-to /
dispatch-from address is carried by the to / from party
address fields plus their actualStateCode.

Allowed:
string | null

Optional. GSTIN of the actual dispatch-from party (transaction type 3 or 4).

string | null

Optional. Trade name of the dispatch-from party.

string | null

GSTIN of the actual ship-to party. Required when transactionType is 2 (Bill-To/Ship-To) or 4 (Combination); optional otherwise. Note: the ship-to / dispatch-from fields are not returned on a later GET — persist them client-side if you need to read them back.

string | null

Trade name of the ship-to party. Required when transactionType is 2 or 4.

from
object
required
to
object
required
totals
object
required
transport
object
required

Transport details. The fields supplied here decide whether NIC
generates a full E-Way Bill (Part-A + Part-B) or a Part-A
slip
that a transporter completes later. Provide exactly one of
these shapes:

  • Part-B (full EWB): send vehicleNumber (and vehicleType)
    together with transportMode. For road movement
    (transportMode: 1) the vehicle number is mandatory.
  • Part-A slip (transporter fills the vehicle later): send a
    valid transporterId and omit transportMode, vehicleNumber
    and vehicleType
    . Sending transportMode forces NIC to expect
    a vehicle number and the request is rejected with
    Vehicle number is required. The EWB is created in Part-A state;
    its validity period starts only once Part-B is added.
items
array of objects
required
length ≥ 1
items*
Headers
string
required
length between 15 and 15
^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][A-Z0-9]{3}$

GSTIN whose NIC IRP / EWB-portal credential authorizes the call.
Seed each GSTIN's credential through the Developer Console.

uuid

Optional client-supplied UUID for correlation across logs and dashboards. If omitted, OneFinOps mints one and echoes it back on the response.

Responses

Language
Credentials
OAuth2
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json