Sales
Returns sales and lifecycle activity across DYLI inventory purchases, user resales, Fair Drops, boxes, claims, and eBay-origin orders.
Use this when you want the history of what happened on DYLI, not just what is currently for sale.
Query Parameters
| Name | Description |
|---|---|
brand | Case-insensitive brand filter, for example Vibes. |
category | Case-insensitive category filter, for example TCG. |
subcategory | Case-insensitive subcategory filter, for example Ungraded Card. |
cert | Cert number. Common BGS variants are checked. |
marketType | primary for first-sale DYLI inventory flows, secondary for user-to-user resale activity. Alias: market_type. |
productId | Exact DYLI product id. Alias: product_id. |
tokenId | Exact ERC-1155 token id. Alias: tokenid. |
boxId | Box id. Alias: box_id. |
createdAfter | ISO timestamp lower bound. Aliases: created_after, from. |
createdBefore | ISO timestamp upper bound. Aliases: created_before, to. |
page, pageSize | Pagination. pageSize max is 200. |
Classification
Use market_type when you only need "first sale vs resale." Use sale_channel when you care whether the row came from standard checkout, a Fair Drop, a box, eBay, a claim, or secondary resale.
Examples
curl "https://www.dyli.io/api/public/v1/sales?createdAfter=2026-01-01T00:00:00.000Z" \
-H "x-api-key: $DYLI_API_KEY"
curl --get "https://www.dyli.io/api/public/v1/sales" \
-H "x-api-key: $DYLI_API_KEY" \
--data-urlencode "brand=Vibes" \
--data-urlencode "subcategory=Ungraded Card" \
--data-urlencode "from=2026-01-01T00:00:00.000Z" \
--data-urlencode "pageSize=100"
The same request as a URL:
/api/public/v1/sales?brand=Vibes&subcategory=Ungraded%20Card&from=2026-01-01T00%3A00%3A00.000Z&pageSize=100