Confirm pending quote (create shipment)
Confirm pending quote (create shipment)
Confirm a pending parcel quote. Pass a `rate_id` from the quote's `rates[]` when rates are present.
- **Export air** — buys the selected carrier rate and returns `tracking_code` and `label_url`.
- **Import air** — confirms the SendHQ warehouse-intake quote and moves it to `booked`; no `rate_id` or carrier label is required.
- **Ocean** — confirms the single SendHQ `Ocean Freight` estimate and moves the quote to `booked`; no carrier label is created.
Returns `QUOTE_RATE_OUTDATED` when the `rate_id` is older than one hour — `GET` the quote to refresh rates first.
Authentication
X-Api-Keystring
API Key authentication via header
Path parameters
id
Parcel quote token
Request
This endpoint expects an object.
rate_id
Rate ID from the quote's rates array. Required when the quote returned rates.
Response
OK — shipment created
parcel_quote_id
status
source
direction
reference
rates
sender
recipient
package
Air weight/dimensions, or ocean packages[] nested under package in responses.
cargo_volume
Human-readable cargo summary, e.g. 2 x 40' (ocean) or 5 kg (air).
origin_details
dest_details
parcel_details
tracking_code
label_url
selected_rate
tracker_id
purchased_at
Legacy booking timestamp when status is booked. Same moment as booked_at. Not payment confirmation for ocean/import intake quotes.
booked_at
When the quote became booked. Null while pending.
estimated_price
NGN total from selected_rate.rate. For ocean/import intake, provisional until warehouse receive; customer payment is invoiced separately.
created_at
Errors
401
Unauthorized Error
422
Unprocessable Entity Error