Skip to main content

3PL API

Use DYLI as the warehouse and fulfillment layer behind your collectibles business. DYLI receives and stores your graded-card and sealed-product inventory, keeps it organized in a shared dashboard, and fulfills customer shipments or vault transfers when your application sends an API request.

Learn more about DYLI 3PL, warehouse operations, and current pricing, or email support@dyli.io to discuss onboarding and integration support.

What DYLI Handles

ServiceHow it works
ReceivingAdd incoming shipments to staging. DYLI receives, checks, and moves accepted items into live inventory.
Storage and inventoryYour inventory stays with DYLI's in-house warehouse team and can be searched, filtered, exported, and reviewed through the dashboard.
ShippingYour application gets rates, selects a service, creates the shipment, and tracks delivery through the API. DYLI packs and fulfills the order.
Vault with DYLIMove eligible inventory into a customer's DYLI account instead of shipping it to a physical address.
Operational supportIncoming and outgoing shipments are filmed for review, and the DYLI team is available for shipping questions, bugs, and onboarding support.

Dashboard and API

Your operations team can use the 3PL Inventory Dashboard to manage incoming and live inventory. Your developers can use the API to automate customer-facing address validation, shipping quotes, redemptions, tracking, and DYLI vault transfers.

The API provides endpoints to:

  • validate shipping addresses and DYLI usernames;
  • quote shipping, insurance, duties, and DYLI fulfillment fees;
  • create idempotent shipments and retrieve tracking;
  • move eligible inventory into a DYLI user's vault.

Base Path

The base path is:

/api/3pl/{company}

DYLI will provide the {company} value when your access is set up.

Endpoints

MethodPathUse
GET/addressValidate a destination before requesting rates.
GET or POST/usernameConfirm a DYLI username and its active wallet.
POST/ratesGet shipping prices and DYLI fees.
POST/orderCreate a shipment.
GET/statusCheck shipment and tracking status.
GET or POST/vaultView vault requirements or move inventory to a DYLI user.

Every request requires an API key. See Authentication.

For development, see Testing. For USDC payment timing, supported networks, and transaction fields, see Payments.

Your team can also use the Inventory Dashboard to add incoming items and track staging and live inventory.

Standard Shipping Flow

  1. Validate the destination with /address.
  2. Send the destination and inventory to /rates.
  3. Let the customer choose a shipping option.
  4. Send the same shipment data, the selected courier_id, and the payment transaction hash to /order.
  5. Save tracking_key and check /status until tracking is available.

/rates does not reserve inventory. Recheck availability when the customer is ready to submit the order.

Inventory Identifiers

Graded and sealed inventory use different identifiers.

InventoryRequest fieldValue
Graded cardscerts[].certGrading certificate number.
Sealed productsproducts[].productIdDYLI product id.

Keep graded items in certs and sealed items in products. Do not put both identifier types in the same item object.

Fees

Current slab receiving and redemption pricing is published at dyli.io/3pl. The rate response returns shipping, redemption, and combined totals so the amount shown at checkout matches the order request.

Vault with DYLI is currently $3.00 USDC per sealed unit. Request a vault quote from /rates before submitting /vault.

Production Notes

  • API requests use https://www.dyli.io.
  • Monetary values are USD unless a field says otherwise.
  • Dates and times use ISO 8601, such as 2026-07-18T14:30:00.000Z.
  • Country values use two-letter ISO codes such as US and CA.
  • Shipping requests support up to 100 total items. Vault-to-DYLI requests support up to 10 units.
  • Keep API keys and transaction hashes on your server. Never put them in frontend code.