Release 2026.07-R2

Updated September 28, 20262 min read

Released July 9, 2026.

Idempotency-Key on write endpoints

API write endpoints now accept an optional Idempotency-Key request header. Use it when your integration retries a call after a timeout or a dropped connection and cannot tell whether the first call went through.

Send a unique value, such as a UUID, for each operation. Send the same key again only when retrying that exact request.

  • Same key, same request: Carriyo does not run the operation again. It returns the status and body of the first call, with the response header Idempotent-Replayed: true.
  • Same key, different request: Carriyo returns 422 with "This Idempotency-Key was already used with a different request payload." The method, path, query string and body must all match.
  • Same key while the first call is still running: Carriyo returns 409.

Keys are scoped to your tenant and to the endpoint, so the same key on two different endpoints does not collide. Carriyo keeps stored responses for 12 hours. Without the header, requests behave as before. The uniqueness check on partner_shipment_reference and partner_order_reference is unchanged.

The header works on write endpoints across these APIs:

  • Shipping: create, update, confirm, cancel, reprocess, ready to ship, status updates, schedule and delivery promise updates, documents, custom attributes, redaction, label and commercial invoice refresh, consolidated child shipments, and the bulk import, reprocess and status refresh endpoints.
  • Orders: create, update, cancel, redact and bulk import, fulfillment order actions, and picks, packs and customer collections.
  • Returns: return request create, edit, approve, reject, ship, receive, cancel, complete, status change, notes and refunds.
  • Products, merchants, carrier accounts and the bulk inventory event import.

See Idempotency for the full contract.

Sign-in: Remember me on by default

Remember me on the sign-in page is now selected by default. If you clear it, Carriyo remembers that choice the next time you sign in. Signing in after a password reset follows the same preference.