Release 2026.10-R2

Updated October 2, 20263 min read

Released October 5, 2026.

Retry failed shipment webhooks

Retry Failed Webhooks, added for orders in 2026.10-R1, now works for shipments too. Use it in three places:

  • As a bulk action on a shipment list, for the shipments you select.
  • In the actions of a shipment row.
  • In the actions on a shipment's page.

Pick the webhook to retry. Only active shipment webhooks that apply to the shipments' merchants are listed. A webhook set to forward or reverse shipments only is offered for shipments of that type.

Once you pick a webhook, the dialog shows how many failed events each shipment has to resend. Shipments with nothing to resend are skipped. Orders get the same count when you retry their webhooks.

The resend works as it does for orders. Carriyo resends the failed events newer than the shipment's last delivered event, oldest first, with their original payloads. It stops at the first event that fails again. The action is available to users who can retrigger webhooks, for up to 100 shipments at a time.

The retry is also available through the API, for orders and shipments. POST /webhooks/failed-events/retry resends the failed events of up to 100 entities for one webhook. GET /webhooks/events lists each entity's events and marks the ones a retry would resend.

A shipment's system logs now label retries Webhook Retry, since a user can start them too. Before, they read Webhook Retry (Automatic).

Whole-day windows for scheduled dates

A scheduled delivery or collection date sent without a time slot now covers the whole day, from 00:00 to 23:59. Times are local to the drop-off country for delivery and the pickup country for collection.

  • Creating or updating a shipment: delivery.scheduled_date or collection.scheduled_date without scheduled_time_slot_id now sets a window ending at 23:59. Before, it ended at 23:00.
  • Scheduling operations: POST /shipments/{shipment_id}/schedule-delivery, schedule-collection and update-collection-schedule now accept scheduled_date on its own and record that whole-day window. Before, the date was ignored. Schedule delivery recorded no window, and Schedule collection used the carrier account's pickup hours.
  • Unknown time slots: schedule-delivery and update-collection-schedule now reject a scheduled_time_slot_id that doesn't exist with 400, as schedule-collection already did. Before, the request succeeded and the window didn't change.

Fixes

  • Bookings with incomplete weights or dimensions: a booking no longer fails when a parcel or item has an incomplete weight or dimensions. That means a weight without a value or unit, or dimensions missing a height, width, depth or unit. Carriyo leaves the incomplete measurement out of the carrier request. This covers 28 carrier integrations, including Amazon Shipping, DHL Express, DHL eCommerce, Parcelforce, UPS and USPS. A carrier that requires the measurement can still reject the booking.
  • Uploaded shipment documents: each shipment now keeps its own copy of a document you upload to it. Before, two shipments that uploaded a document with the same name overwrote each other's file, and deleting it from one shipment could remove it from the other.
  • Address updates on fulfillment orders: a new address on a fulfillment order now gets the same clean-up as when the order is created or updated. This applies in the Dashboard and with PATCH /orders/{orderReference}/fulfillment-orders/{fulfillmentOrderReference}/update-address. For Saudi addresses, Carriyo reads the short code from the address lines or postcode into address_codes. The phone number, postcode, email and spacing are tidied as well.
  • Shopify address changes: when an order's delivery address is changed in Shopify, Carriyo now updates the order. Before, an edit that changed only the address was ignored.
  • Shopify activity on orders: Shopify webhooks and the actions Carriyo sends to Shopify now always appear on the order's Activity tab. Before, entries with large payloads were blocked and went missing.
  • Product lookups for users without product access: product search in the Dashboard, such as the item picker when you create an order or shipment, now works for users whose role doesn't include products. Before, those lookups were denied.