Partial update of a brand product. Two equivalent lookups — pick the one matching the identifier you have:
- Call by id — Fairly Made
id(UUID v4) from the201response ofPOST /brand-products - Call by unique identifier — your
uniqueIdentifierfrom creation
A brand product can be updated at any time. Unlike the other entities, a brand product
PATCHis always taken into account — including after traceability collection has started.
Call by: uniqueIdentifier — your internal reference (same value as on POST /brand-products).
Partial update with the same body and rules as Call by id (PATCH /brand-products/{id}). uniqueIdentifier must not be included in the request body.
If the product belongs to another client, the response is 404 (BrandProductNotFoundByUniqueIdentifier) — existence is not revealed (contrast with Call by id, which returns 403 when the id exists but is out of scope).
Side effects: introducing a product link on update may trigger traceability or legacy migration. Failures return 422 without rollback — the record is kept; retry the request.
System UUID link to a manufactured product. Mutually exclusive with manufacturedProductUniqueIdentifier, purchasedItemId, and purchasedItemUniqueIdentifier.
Client uniqueIdentifier link to a manufactured product. Mutually exclusive with other product link fields.
System UUID link to a purchased item. Mutually exclusive with other product link fields.
Client uniqueIdentifier link to a purchased item. Mutually exclusive with other product link fields.
System UUIDs of the associated packagings. Mutually exclusive with packagingUniqueIdentifiers. Replaces the previous list in full when sent.
Client uniqueIdentifiers of the associated packagings. Mutually exclusive with packagingIds. Replaces the previous list in full when sent.
- Mock serverhttps://doc.api.fairlymade.com/_mock/swagger-fairlymadeapi-v3/brand-products/by-unique-identifier/{uniqueIdentifier}
- Productionhttps://api.fairlymade.com/v3/brand-products/by-unique-identifier/{uniqueIdentifier}
- Sandboxhttps://api.sandbox.fairlymade.com/v3/brand-products/by-unique-identifier/{uniqueIdentifier}
curl -i -X PATCH \
'https://doc.api.fairlymade.com/_mock/swagger-fairlymadeapi-v3/brand-products/by-unique-identifier/{uniqueIdentifier}' \
-H 'Content-Type: application/json' \
-d '{}'Updated brand product record (full DTO).
Assigned at creation; returned for reference only — not accepted in PATCH request bodies.
System UUID of the linked manufactured product, or null. Mutually exclusive with purchasedItemId.
System UUID of the linked purchased item, or null. Mutually exclusive with manufacturedProductId.
Information about the destination warehouse for brand product data. Provide either a warehouse supplier (supplierId or supplierUniqueIdentifier) or an address with country — not both in the same object.
Whether the product's communication pack is active. Governs whether links are returned.
The product's QR-code and web links. Both are returned only when the product's communication pack is active (hasCommunicationPackage: true); otherwise both are null. This rule is identical across the whole brand-products resource — the create response, the update responses and the list. Each URL points at the environment serving the request (production, sandbox).
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac", "uniqueIdentifier": "string", "collection": "string", "category": "string", "colorCode": "string", "marketSegment": "string", "ecoModulation": "string", "ref": "string", "productName": "string", "manufacturedProductId": "06dee5c1-8885-4d10-bf9a-14a0957b1487", "purchasedItemId": "c71367fd-41b4-4f55-a878-880751ae6d3a", "productPrice": 0, "weight": 0, "producedQuantity": 0, "warehouse": { "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db", "supplierUniqueIdentifier": "string", "address": { … } }, "hasCommunicationPackage": true, "links": { "qrCode": "http://example.com", "web": "http://example.com" }, "gtins": [ { … } ], "packagingIds": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }