Update Allocation Package
PUT /allocations/{allocation_id}/allocation_package
Update an allocation’s package: its weight, and either its dimensions or a package (one of your saved packages or a carrier package). Rates (GET /shipping/rates/{allocation_id}?from_allocation_package=true) are built from the allocation package, so read the rates again after any change and buy a rate from a quote made after it. On some directly connected carrier accounts (UPS and FedEx; an account linked through Buy Shipping does not count), rates are not built from the allocation package.
To apply a saved or carrier package, send its package_provider and package_id with its dimensions, in the allocation package’s dimensions_unit. Veeqo stores the dimensions you send and does not copy them from the package. Rates use the package’s own dimensions when it has them, and the stored ones otherwise, for example after a saved package is deleted. Packages have no weight, so the weight is kept unless you send one.
Read weight_unit and dimensions_unit from the allocation’s allocation_package in GET /orders/{order_id}. When allocation_package is null, the allocation has no package yet: this call creates one, usually in the company’s settings.weight_unit and settings.dimensions_unit (GET /current_company), and the response shows the units used.
Any update without a valid package_provider and package_id pair, such as dimensions only or a weight alone, clears a package applied before.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”ID of the Allocation
Request Body required
Section titled “Request Body required ”object
Only weight, width, height, depth, package_provider and package_id are read; any other key is ignored. Values are stored in the package’s existing units (weight_unit and dimensions_unit in the response), which cannot be changed here.
object
Weight of the package, in the package’s weight_unit.
Width of the package, in the package’s dimensions_unit.
Height of the package, in the package’s dimensions_unit.
Depth of the package, in the package’s dimensions_unit.
Where package_id comes from: CUSTOM for one of your saved packages, CARRIER for a carrier’s package. package_provider and package_id are kept only as a valid pair; otherwise both are cleared and the package is stored with dimensions only. The response is still 200 (or 422 if no dimensions are stored), so check package_provider in the response.
The id of one of your saved packages (with CUSTOM, such as "4821") or of a carrier package (with CARRIER, such as "fedex/envelope"). Cleared unless it forms a valid pair with package_provider.
Optional. true saves this package as the suggestion for similar shipments (package_selection_source SUGGESTION); false or omitted applies it to this allocation only (ONE_OFF). Similar shipments are those with the same products and quantities from this warehouse. true also asynchronously applies this package to every other unshipped allocation with the same products and quantities, replacing their weight, dimensions and package.
Examples
Dimensions only
{ "allocation_package": { "weight": 29.98, "width": 433, "height": 234, "depth": 7 }, "save_for_similar_shipments": false}A saved package, on an allocation package in cm
{ "allocation_package": { "package_provider": "CUSTOM", "package_id": "4821", "width": 20, "height": 10, "depth": 30 }, "save_for_similar_shipments": false}Responses
Section titled “ Responses ”The allocation package was updated. The body is wrapped in data.
Example
{ "data": { "id": "221127044", "type": "allocation_package", "attributes": { "allocation_id": 447345401, "created_at": "2025-02-25T17:03:00.202Z", "depth": 7, "height": 234, "package_id": null, "package_provider": null, "package_selection_source": "ONE_OFF", "package_name": null, "similarity_key": "b85f12fa270a46dbfe254f4e6085b59f626ec4f2", "updated_at": "2025-06-10T13:12:21.847Z", "weight": 29.98, "width": 433, "weight_unit": "oz", "dimensions_unit": "inches" } }}No allocation with this id belongs to your company.
The allocation package failed to update, for example with a negative weight, or with no dimensions stored and no valid pair sent. errors lists the messages by field, and full_messages as sentences.
object
object
Example
{ "errors": { "weight": [ "must be greater than or equal to 0" ] }, "full_messages": [ "Weight must be greater than or equal to 0" ]}