Upgrade to 2026-07

View as Markdown

1. New Endpoints Introduced

Products:

  • GET /allergens – Returns the list of supported allergens that can be associated with a product variant.

Receiving:

  • GET /unidentified-receiving-order – Returns a list of unidentified receiving orders (UROs) for the merchant. Use isCompleted to filter to UROs not yet linked to a WRO (false, default) or linked (true). Up to 50 records per page.
  • GET /unidentified-receiving-order/{uroId} – Returns a single unidentified receiving order owned by the merchant, including its attachments. Responds 404 if it does not exist or belongs to another merchant.
  • POST /unidentified-receiving-order/{uroId}:associateWRO – Links an unidentified receiving order to a warehouse receiving order owned by the merchant.

2. Request Body Changes

POST /receiving

  • Added request fields:
    • freight, freight.carrier, freight.bol_number, freight.container_number, freight.vessel_name, freight.freight_forwarder, freight.notes
    • final_destination_fulfillment_center_id
    • boxes[].box_items[].sku
  • boxes[].box_items[].inventory_id is now optional (was required). It is now also nullable.
  • Nullability cleanup: boxes, boxes[].box_items, and boxes[].tracking_number are no longer explicitly nullable.

POST /product, POST /product/{productId}/variants, PATCH /product/{productId}, PATCH /product/{productId}/variants

  • customs.value on variants changed type from integer (int32) to number (double), allowing decimal customs values.

3. Response Body Changes

POST /receiving

  • Response code 400 removed; 422 added for validation errors.
  • (201) Added fields: freight, freight.carrier, freight.bol_number, freight.container_number, freight.vessel_name, freight.freight_forwarder, freight.notes
  • (404) Removed field: errors

GET /receiving/{id}

  • (200) Added fields: freight, freight.carrier, freight.bol_number, freight.container_number, freight.vessel_name, freight.freight_forwarder, freight.notes
  • (404) Removed field: errors

GET /receiving/{id}/distributions

  • (400, 404, 500) These error responses now use the ProblemDetails shape - added fields: type, title, status, detail, instance

GET /product (200)

  • items[].variants[].customs.value changed type from integer (int32) to number (double).

GET /product/{productId} (200), PATCH /product/{productId} (200)

  • variants[].customs.value changed type from integer (int32) to number (double).

GET /product/{productId}/variants (200), PATCH /product/{productId}/variants (200)

  • [].customs.value changed type from integer (int32) to number (double).

POST /product (201), POST /product/{productId}/variants (201)

  • variants[].customs.value changed type from integer (int32) to number (double).

Support

If you have questions, please email our Developer Support Team at support@shipbob.com. This will create a ticket with a 1-business day first response time.