Set an inventory line's photos

Replaces the photos attached to an inventory line. Buyers see these photos on your Marketplace listing for the line.

Send the request as multipart/form-data with each photo in the files field — between 1 and 10 images, any image/* content type, up to 10 MB each. The whole set is replaced in one call: include every photo the line should keep. A file that cannot be read as an image is rejected with BAD_REQUEST.

Requires the inventory:write scope.

Path Parameters
  • inventoryId
    Type: string
    min length:  
    1
    required

    The inventory line's identifier. Returned by GET /v1/inventory. Path parameter.

Body
required
application/json
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for put/inventory/{inventoryId}/media
curl 'https://public-api.cardnexus.com/v1/inventory/{inventoryId}/media' \
  --request PUT \
  --header 'Content-Type: multipart/form-data' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --form 'files='
{
  "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"
}