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
| Service | How it works |
|---|---|
| Receiving | Add incoming shipments to staging. DYLI receives, checks, and moves accepted items into live inventory. |
| Storage and inventory | Your inventory stays with DYLI's in-house warehouse team and can be searched, filtered, exported, and reviewed through the dashboard. |
| Shipping | Your application gets rates, selects a service, creates the shipment, and tracks delivery through the API. DYLI packs and fulfills the order. |
| Vault with DYLI | Move eligible inventory into a customer's DYLI account instead of shipping it to a physical address. |
| Operational support | Incoming 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
| Method | Path | Use |
|---|---|---|
GET | /address | Validate a destination before requesting rates. |
GET or POST | /username | Confirm a DYLI username and its active wallet. |
POST | /rates | Get shipping prices and DYLI fees. |
POST | /order | Create a shipment. |
GET | /status | Check shipment and tracking status. |
GET or POST | /vault | View 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
- Validate the destination with
/address. - Send the destination and inventory to
/rates. - Let the customer choose a shipping option.
- Send the same shipment data, the selected
courier_id, and the payment transaction hash to/order. - Save
tracking_keyand check/statusuntil 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.
| Inventory | Request field | Value |
|---|---|---|
| Graded cards | certs[].cert | Grading certificate number. |
| Sealed products | products[].productId | DYLI 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
USandCA. - 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.