Skip to main content

Errors

Errors use a small JSON object:

{
"error": "Missing required courierId"
}

Some shipping-provider errors also include details and retryable.

Status Codes

StatusMeaning
200Request completed. Validation endpoints can return valid: false with 200.
202Shipment accepted but still pending carrier creation. Poll /status.
400Missing or invalid request data, unavailable inventory, or an unsupported carrier selection.
401API key is missing or incorrect.
403Standard Public API key is invalid, disabled, revoked, expired, or its owning account does not have access to the requested company inventory.
404Company, shipment, or requested record was not found.
405HTTP method is not supported by the endpoint.
409Insufficient live inventory for the shipment, or the transaction hash is already assigned to another company shipment.
422The inventory cannot be packed with the available shipping configuration.
429Standard Public API key rate limit exceeded. Read Retry-After.
500DYLI could not complete the request.
502Carrier or upstream shipping service failed.
503Inventory availability could not be verified. Retry the request with the same transaction hash.

Retry Rules

  • Retry 202 by polling /status; do not create a second order.
  • Retry 429 after the Retry-After value.
  • You can safely retry an order with the same txHash; DYLI will not create a duplicate shipment.
  • Do not automatically retry /vault after an unknown server error because the blockchain transaction may already exist.
  • For non-retryable 502 responses, request a new rate or contact DYLI.