Skip to content

Call by id

Request

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.

Path
idstring, (uuid)required

Fairly Made resource id (UUID v4). Use the id from the 201 response of the corresponding POST endpoint.

Bodyapplication/jsonrequired
manufacturedProductIdstring, (uuid)

System UUID link to a manufactured product. Mutually exclusive with manufacturedProductUniqueIdentifier, purchasedItemId, and purchasedItemUniqueIdentifier.

manufacturedProductUniqueIdentifierstring

Client uniqueIdentifier link to a manufactured product. Mutually exclusive with other product link fields.

purchasedItemIdstring, (uuid)

System UUID link to a purchased item. Mutually exclusive with other product link fields.

purchasedItemUniqueIdentifierstring

Client uniqueIdentifier link to a purchased item. Mutually exclusive with other product link fields.

refstring
colorCodestring
collectionstring
productNamestring or null
packagingIdsArray of strings or null, (uuid)

System UUIDs of the associated packagings. Mutually exclusive with packagingUniqueIdentifiers. Replaces the previous list in full when sent.

packagingUniqueIdentifiersArray of strings or null

Client uniqueIdentifiers of the associated packagings. Mutually exclusive with packagingIds. Replaces the previous list in full when sent.

gtinsArray of strings
marketSegmentstring or null
productPricenumber or null
ecoModulationstring
producedQuantitynumber or null
weightnumber or null
warehouseobject or null(Warehouse)

Warehouse: provide either supplierId or supplierUniqueIdentifier, or a postal address with country — not both supplier reference and address in the same object. Send null to clear the warehouse on the brand product.

curl -i -X PATCH \
  'https://doc.api.fairlymade.com/_mock/swagger-fairlymadeapi-v3/brand-products/{id}' \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

Updated brand product record.

Bodyapplication/json
idstring, (uuid)
customerIdstring, (uuid)

Your customer id.

uniqueIdentifierstringread-only

Assigned at creation; returned for reference only — not accepted in PATCH request bodies.

collectionstring
categorystring
colorCodestring
marketSegmentstring or null
ecoModulationstring or null
refstring
productNamestring or null

Commercial or internal product name on your side.

manufacturedProductIdstring or null, (uuid)

System UUID of the linked manufactured product, or null. Mutually exclusive with purchasedItemId.

purchasedItemIdstring or null, (uuid)

System UUID of the linked purchased item, or null. Mutually exclusive with manufacturedProductId.

productPricenumber or null
weightnumber or null
producedQuantitynumber or null
warehouseobject or null(Warehouse)

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.

hasCommunicationPackageboolean

Whether the product's communication pack is active. Governs whether links are returned.

gtinsArray of objects
packagingIdsArray of strings, (uuid)
createdAtstring, (date-time)
updatedAtstring, (date-time)
Response
{ "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" }