Take a listing off sale
Takes a listed inventory line off the Marketplace. The cards stay in your inventory — they move back to your Collection.
By default the whole listing is cancelled and the response is the line's new state in your Collection. Pass quantity to take only part of it off sale: the delisted cards move back to your Collection, the rest stays for sale on this line, and the response is this line's new, reduced state.
Delisted cards merge into an identical unlisted line of yours when one exists (same product, finish, condition, language, and grading, neither line carrying a customId). After a full delist that merges, the response is the surviving line.
Requires the listings:write scope.
- Type: stringinventory
Id min length:1requiredThe listed inventory line. Returned by
GET /v1/listings. Path parameter.
- Type: integerquantitymin:1max:9007199254740991
How many cards to take off sale. Defaults to all of them. Query parameter.
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://public-api.cardnexus.com/v1/inventory/{inventoryId}/listing' \
--request DELETE \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"quantity": 1
}'
{
"id": "665f3a2b1c8d4e9f7a6b5c4d",
"customId": "YRG|5555-5DS1-2EX-006-f-2-2008-08-01",
"comment": "Slight edge wear on the back corner",
"notes": "Bought at the March show",
"location": "Shelf A",
"tags": [
"Trade binder",
"Graded pile"
],
"productId": 50212,
"game": "ygo",
"finish": "Standard",
"condition": "NM",
"language": "en",
"quantity": 5,
"graded": null,
"forSale": true,
"listing": {
"price": {
"amount": 42.5,
"currency": "EUR"
}
},
"updatedAt": "2026-06-01T17:40:02.000Z"
}