Call by: id — the Fairly Made brand product id (UUID v4) from the 201 response of POST /brand-products.
Updates a brand product that belongs to your organisation. Use Customer API credentials; your registry scope is resolved from the access token.
Partial update: only include fields you want to change. Omitted fields stay as they are. When you send an array (e.g. gtins) or a nested object (e.g. warehouse), the value replaces the previous one in full. uniqueIdentifier must not be included (it is set at creation only; sending it returns 400).
If the product exists but belongs to another client → 403 (BrandProductOwnershipViolation). Contrast with Call by unique identifier, which returns 404 in that case.
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.
Error responses for PATCH inventory endpoints use a dedicated JSON shape (type / reason, message, field, optional extra), not the same structure as POST endpoints that return code and details.
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/{id}
- Productionhttps://api.fairlymade.com/v3/brand-products/{id}
- Sandboxhttps://api.sandbox.fairlymade.com/v3/brand-products/{id}
curl -i -X PATCH \
'https://doc.api.fairlymade.com/_mock/swagger-fairlymadeapi-v3/brand-products/{id}' \
-H 'Content-Type: application/json' \
-d '{}'Updated brand product record.
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" }