Skip to main content

Redemptions

GET /api/public/v1/redemptions

Returns completed redemptions for one or more DYLI products. Use it to show who redeemed an item, when it was redeemed, whether it was shipped, ripped, or graded, and any additional information collected for that product's fulfillment.

Trade-ins are not included.

Query Parameters

NameDescription
productIdsRequired. One product id or a comma-separated list of product ids. Aliases: productids, productId, productid. The parameter may also be repeated.
limitNumber of redemptions to return across all requested products. Default 250, maximum 1000.
offsetNumber of redemptions to skip. Default 0.
includeExternalWalletsOptional. Set to true to add the redeemer's linked external wallet addresses as external_wallets. Alias: include_external_wallets.

Results from all requested products are combined, ordered by redeemed_at from newest to oldest, and paginated together.

Examples

One product:

curl "https://www.dyli.io/api/public/v1/redemptions?productId=1930" \
-H "x-api-key: $DYLI_API_KEY"

Multiple products:

curl "https://www.dyli.io/api/public/v1/redemptions?productIds=1930,1931&limit=100" \
-H "x-api-key: $DYLI_API_KEY"

Include linked external wallets:

curl "https://www.dyli.io/api/public/v1/redemptions?productId=1930&includeExternalWallets=true" \
-H "x-api-key: $DYLI_API_KEY"

Response

{
"productids": [1930, 1931],
"count": 2,
"redemptions": [
{
"order_id": 123456,
"userid": "did:privy:example-user-id",
"wallet": "0x1234567890abcdef1234567890abcdef12345678",
"username": "collector",
"name": "Collector",
"pfp": "https://example.com/avatar.png",
"type": "shipment",
"product": "Example collectible",
"productid": 1930,
"tokenid": "1234",
"redeemed_at": "2026-07-22T15:30:00.000Z",
"text": "0x1234...abcd",
"collection": {
"label": "ETH wallet",
"type": "evm_wallet",
"value": "0x1234...abcd"
}
}
]
}

For a single product, the top-level response contains productid. For multiple products, it contains productids.

Each redemption includes userid, the redeemer's DYLI/Privy user id, and wallet, the active wallet on that user's DYLI account. For Abstract users, wallet is their Abstract wallet; otherwise it is their embedded wallet. Either value can be null when the associated user record or wallet is unavailable.

When includeExternalWallets=true, each redemption also includes external_wallets, a deduplicated array of external EVM and Solana wallet addresses linked to the redeemer's Privy account. Embedded Privy and Abstract wallets are excluded from this array. Without the flag, external_wallets is omitted.

Redemption Types

Each redemption has a type:

ValueMeaning
shipmentThe physical item was redeemed for shipment.
ripThe item was submitted for a live rip. This includes both pack rips and box rips.
gradeThe item was submitted for grading.

collection is included only when the product required or offered an additional redemption field and the redeemer submitted a value. It contains the field label, input type, and submitted value. text mirrors collection.value for simple display and is otherwise null.