Skip to main content

Create a waybill

POST/client_api/v2/orders/{order_id}/waybills

Asks the carrier for the order's waybill and answers with the order, now holding the waybill number and a link to its document. If the carrier refuses, or a document or payment is missing, the call answers 422 with the reason. Don't retry this call after a timeout: the first request may still be booking with the carrier, and a retry books a second waybill. Read the order with Get an order first, and call this again only if it has no waybill.

Path parameters

  • order_idintegerRequired

    The order's id.

    Read the ids from List orders in the environment you are calling: they differ between the sandbox and production.

Returns

Returns the order.

Errors

  • 400Bad Request
    The request body isn't valid JSON, or something failed on our side.
  • 401Unauthorized
    The token is missing, expired or invalid. Sign in again.
  • 403Forbidden
    Your login isn't allowed to do this.
  • 422Unprocessable Content
    The request was refused. error says why in one sentence, and errors lists each reason.
View as Markdown
POST /client_api/v2/orders/{order_id}/waybills
1curl -X POST "https://sandbox-api.vatit-stream.com/client_api/v2/orders/11/waybills" \
2 -H "Authorization: Bearer $API_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{}'
Response
{
"order": {
"id": 7,
"assigned_admin": null,
"battery_declaration_link": "",
"broker_address": null,
"ccd_status": "ccd_not_required",
"commercial_invoice_link": "",
"created_at": "2026/10/23 07:14:46 UTC",
"customer_reference": null,
"customs_clearance_document_link": "",
"date_delivered": null,
"description_of_contents": null,
"destination_address": {
"id": 3,
"address_1": "Destination Address 1",
"address_2": "aa",
"address_3": "aa",
"city": "aa",
"classification": "business",
"company": "aa",
"country": {
"id": 5,
"default_postal_code": null,
"dhl_export_code": null,
"dhl_import_code": null,
"dhl_tax_code": null,
"export_code_label": "Export Number",
"import_code_label": "Importer Code",
"iso_code_2": "ISO5",
"iso_code_3": "ISO5",
"name": "random",
"postal_code_required": true,
"tax_number_label": "Tax Number",
"vat_rate": 0.17
},
"country_id": 5,
"email": "aa@aa.com",
"import_code": "Import code Destination",
"latitude": null,
"longitude": null,
"name": "aa",
"phone": "MyString",
"postal_code": "aa",
"province": "aa",
"summary": "random",
"tax_number": null,
"time_zone_id": null
},
"draft_bill_of_lading_link": "",
"eei_eligible": false,
"eei_request_document_link": "",
"export_permit_link": "",
"final_bill_of_lading_link": "",
"importer_of_record_address": null,
"internal_transaction_number": null,
"invoice_data": {
"billable_weights": {
"metric": {
"packages": 0,
"mass_unit": "kg",
"distance_unit": "cm",
"volumetric_weight": 0,
"weight": 0,
"billable_weight": 0,
"volume": 0
},
"imperial": {
"packages": 0,
"mass_unit": "lb",
"distance_unit": "inches",
"volumetric_weight": 0,
"weight": 0,
"billable_weight": 0,
"volume": 0
}
},
"estimate_id": 7,
"line_items": [],
"quote_expired": false,
"shipping_company": "ShippingCo1",
"shipping_service": "Express"
},
"invoice_number": null,
"materials_safety_data_sheet_link": "",
"measured_weight": 0,
"origin_address": {
"id": 2,
"address_1": "Origin Address 1",
"address_2": "aa",
"address_3": "aa",
"city": "aa",
"classification": "business",
"company": "aa",
"country": {
"id": 3,
"default_postal_code": null,
"dhl_export_code": null,
"dhl_import_code": null,
"dhl_tax_code": null,
"export_code_label": "Export Number",
"import_code_label": "Importer Code",
"iso_code_2": "ISO3",
"iso_code_3": "ISO3",
"name": "random",
"postal_code_required": true,
"tax_number_label": "Tax Number",
"vat_rate": 0.17
},
"country_id": 3,
"email": "aa@aa.com",
"import_code": "Import code Origin",
"latitude": null,
"longitude": null,
"name": "aa",
"phone": "MyString",
"postal_code": "aa",
"province": "aa",
"summary": "random",
"tax_number": null,
"time_zone_id": null
},
"packaging_list_link": "",
"pickup_date": "2026-10-23",
"pickup_instructions": "",
"proof_of_delivery_link": "",
"purpose_of_shipment_id": 26,
"quote_id": 7,
"reference_number": "MYSABC001000001",
"scheduled_pickup": "",
"send_consignee_tracking_details": false,
"shipments": [
{
"shipping_service": "Express",
"status": "order_received",
"tracking_link": null,
"waybill": null,
"waybill_document_link": ""
}
],
"shippers_letter_of_instruction_link": "",
"status": "order_received",
"stream_packing_list_link": "",
"tracking_link": null,
"value_of_goods": 100,
"value_of_goods_currency": "USD",
"waybill": null,
"waybill_document_link": ""
}
}
API ExplorerSandbox

Pick a call on the right and run it. Every call goes to the sandbox, so nothing is really shipped or charged. The answer appears here.