Shipping Rates
Get shipping prices and DYLI fees before creating an order. The response includes up to five shipping options, with the lowest total first.
Graded Shipment
curl "https://www.dyli.io/api/3pl/$DYLI_3PL_COMPANY/rates" \
-X POST \
-H "Content-Type: application/json" \
-H "x-api-key: $DYLI_3PL_API_KEY" \
-d '{
"address": {
"name": "Jamie Doe",
"email": "jamie@example.com",
"phone": "+1 212 555 0100",
"address_line_1": "123 Main Street",
"address_line_2": "Suite 4",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country_alpha2": "US"
},
"certs": [
{ "cert": "12345678", "value": 250 },
{ "cert": "87654321", "value": 175 }
],
"includeDdp": false,
"insurance": true
}'
Sealed Shipment
{
"address": {
"name": "Jamie Doe",
"email": "jamie@example.com",
"phone": "+1 212 555 0100",
"address_line_1": "123 Main Street",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country_alpha2": "US"
},
"products": [
{ "productId": 29022, "qty": 2, "value": 95 }
],
"includeDdp": false,
"insurance": true
}
Graded and sealed items can be quoted together. Keep them in their respective arrays.
Request Fields
| Name | Required | Description |
|---|---|---|
address | Yes for shipping | Destination object. Uses city, state, and country_alpha2. |
certs | One item array required | Graded inventory. Each row needs cert; value is the declared USD value. |
products | One item array required | Sealed inventory. Each row needs a DYLI productId and positive whole-number qty. value is optional. |
includeDdp | No | Use true to include import duties and taxes in the price (DDP). The default is false, so the recipient may pay them on delivery (DDU). |
insurance | No | Include shipment insurance using the submitted item values. Defaults to false. |
vaultWithDyli | No | Quote a sealed-only vault transfer instead of physical shipping. |
test | No | Use true for a graded test request. Test mode skips the live-inventory check. See Testing. |
certs also accepts certNumber. products accepts product_id, dyliProductId, or linkedProductId as product id aliases.
Rate Response
{
"shippingOptions": [
{
"id": "option_0",
"carrier": "UPS Ground",
"estimated_days": 4,
"courier_id": "courier-service-id",
"shipping_fees": "12.40",
"redemption_fees": "7.97",
"total_amount": "20.37"
}
],
"summary": {
"slabCount": 2,
"sealedCount": 0,
"gradedCount": 2,
"totalValue": "425.00",
"parcelCount": 1,
"box": "7 x 5 x 2",
"destination": "New York, NY, US"
}
}
Save the courier_id from the option the customer chooses. Send it as courierId to /order. Do not send option_0; that id only labels the option in this response.
Media Mail and DHL options are excluded. FedEx is excluded for Dubai destinations.
Vault With DYLI Quote
Vault quotes are available for sealed products only. No shipping address is required.
curl "https://www.dyli.io/api/3pl/$DYLI_3PL_COMPANY/rates" \
-X POST \
-H "Content-Type: application/json" \
-H "x-api-key: $DYLI_3PL_API_KEY" \
-d '{
"products": [{"productId":29022,"qty":2}],
"vaultWithDyli": true
}'
{
"shippingOptions": [],
"vaultWithDyli": {
"required": true,
"unit_fee": "3.00",
"total_fee": "6.00",
"amount_usdc": 6,
"txHashRequired": true
},
"summary": {
"slabCount": 2,
"sealedCount": 2,
"gradedCount": 0,
"destination": "DYLI Vault"
}
}
See dyli.io/3pl for current slab pricing.