TracePass
Products

Update a product

Patch one or more product fields. Send only the keys you want to change — omitted fields stay untouched. The whole-array semantics on `imageUrls` are intentional: your CMS is the canonical image set, so a PATCH with `imageUrls: ["a","b"]` replaces whatever was there. To append a single image without rewriting the list, use the multipart upload endpoint instead.

PATCH/api/v1/products/{id}
Download OpenAPI 3.1
PATCH/api/v1/products/{id}

Update a product

Patch one or more product fields. Send only the keys you want to change — omitted fields stay untouched. The whole-array semantics on `imageUrls` are intentional: your CMS is the canonical image set, so a PATCH with `imageUrls: ["a","b"]` replaces whatever was there. To append a single image without rewriting the list, use the multipart upload endpoint instead.

Counts as one v1 write. Honours `Idempotency-Key`. `model` uniqueness is re-checked when changed; `description: null` clears the description (distinct from omitting the key).

Path parameters

  • idrequired

    ObjectId

    Product ID.

    e.g. 6650a1b2c3d4e5f6a7b8c9d0

Headers

  • Authorizationrequired

    string

    `Bearer <api-key>`.

  • Idempotency-Key

    string

    UUID v4.

Body fields

  • name

    string (1-200)

    Display name.

  • model

    string (1-100)

    Model identifier. Uniqueness re-checked when changed.

  • description

    string | null (≤ 2000)

    Pass `null` to clear.

  • defaultFieldValues

    object

    Replaces seed values for future passports.

  • imageUrls

    string[] (max 20)

    Replaces the full image array.

  • status

    enum

    `active` or `archived`.

  • sourceLocale

    string (ISO 639-1)

    Update the locale of `name` / `description`.

Request

curl -sS -X PATCH \
  https://app.tracepass.eu/api/v1/products/6650a1b2c3d4e5f6a7b8c9d0 \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Li-Ion 48V Battery Pack (revised)",
    "imageUrls": ["https://cdn.example.com/new-hero.jpg"]
  }'

Response

{
  "_id": "6650a1b2c3d4e5f6a7b8c9d0",
  "name": "Li-Ion 48V Battery Pack (revised)",
  "imageUrls": ["https://cdn.example.com/new-hero.jpg"],
  "updatedAt": "2026-05-09T15:30:00.000Z"
}