Get a bill of lading and PRO number for a booked dispatch.

Ask the carrier for an electronic bill of lading for a dispatch booked through POST /dispatching/jobs, and get back the PRO number it assigns.

Book first: the dispatch job must be COMPLETED. The bill of lading is built from that dispatch (stops, contacts, freight, references, notes), so it always matches the pickup the carrier was tendered. Works for every carrier with an eBOL integration, whether or not your account issues one automatically at dispatch. A carrier that cannot issue one through Shipwell answers 400 with the code ebol_not_supported: ABF (its PRO number is already in the dispatch job's references), XPO (its eBOL would book a second pickup), and carriers with no eBOL integration.

The carrier is called asynchronously: the response is the job in PROCESSING. Poll GET /ebol/jobs/{id} until is_terminal is true; the PRO number is then in bol.referenceNumbers.pro and in the dispatch job's references. A job still PROCESSING after 15 minutes is not going to finish on its own, and calling again does not resend it: contact Shipwell support with the eBOL job id.

One eBOL per dispatch. Calling again while it is in progress, or after it completed, returns the same job with 200 and sends nothing. Only an ERRORED job is sent again, as the same job, with 201. Shipwell does not retry a failed eBOL. When the job is ERRORED and the error looks temporary (a timeout, the carrier unavailable), you may call again; we suggest at most two more attempts, about ten seconds apart. An error about the shipment itself (an address, a contact, the freight) will fail the same way every time.

SecurityAPIKeyHeader
Request
header Parameters
X-Shipwell-Version (string) or X-Shipwell-Version (null) (X-Shipwell-Version)

Pins this request to the API as it behaved on the given ISO date, e.g. 2026-08-25. Omitted or unparseable means the oldest behaviour, so a client that never sends it keeps the behaviour it was written against.

Request Body schema: application/json
required
dispatch_job_id
required
string (Dispatch Job Id) non-empty

The dispatch job to issue the bill of lading for, from POST /dispatching/jobs. It must be COMPLETED.

Responses
200

The dispatch already has an eBOL job that is in progress or done; it is returned and nothing is sent to the carrier.

Response Schema: application/json
required
object (EbolJob)

An eBOL job: whether the carrier has answered, and the PRO number it assigned.

Poll until is_terminal is true. Shipwell does not retry a failed eBOL on its own; if status is ERRORED you may send POST /ebol/jobs again for the same dispatch.

201

Successful Response

Response Schema: application/json
required
object (EbolJob)

An eBOL job: whether the carrier has answered, and the PRO number it assigned.

Poll until is_terminal is true. Shipwell does not retry a failed eBOL on its own; if status is ERRORED you may send POST /ebol/jobs again for the same dispatch.

400

Validation Error

404

No such dispatch job or eBOL job for your company.

409

The dispatch job is not COMPLETED.

500

An unknown internal server issue occured while processing a request. A report is created and logged.

post/ebol/jobs
Request samples
application/json
{
  • "dispatch_job_id": "01KBZC9J8Q0000000000000000"
}
Response samples
application/json
{
  • "data": {
    }
}
Copyright © Shipwell 2025. All right reserved.