Component data covers all the individual elements that make up your products — from main fabrics and linings to hardware like zippers, buttons, outsoles, and uppers. Each component is made of one or multiple composition lines; each line combines a raw material name and a raw material attribute (same taxonomies and pairing rules as on Material with rawMaterialName and rawMaterialAttribute), plus a percentage and optional origin and certification.
Each component needs a unique identifier representing specific characteristics including composition, usageCategory, and supplier (owner or address).
Key rule: If any component characteristics differ, create a separate uniqueIdentifier. You must include either the owner (ownerKind, ownerId) or the processing step address, but not both.
For each compositionRawMaterial, use the Fairly Made Material Selector to pick the allowed compositionRawAttribute (Step 1 = material, Step 2 = attributes).
Traceability collection: to link purchased inputs for Fairly Made supplier data collection, reference them via purchasedItems (each purchased item must include a purchaseOrder on POST /purchased-items). Links made only through usedComponents or usedMaterials are not taken into account for that analysis.
This identifier will make each component unique in our systems.
Defines the functional purpose of that component, you can reuse the value that you would use for the usedComponents[].usageCategory or purchasedItems[].usageCategory fields.
Your supplier's code or reference for this component. This will be the name of the form your supplier receives during Supplier Data Collection (if applicable), helping them identify the specific component.
System UUID of the component supplier. Provide exactly one of ownerId or ownerUniqueIdentifier (with ownerKind = SUPPLIER), or use address instead — not both owner and address.
Client uniqueIdentifier of the component supplier. Requires ownerKind = SUPPLIER. Mutually exclusive with ownerId and with address.
Composition details; each entry must use an official raw material name–attribute pair; the sum of percentages must equal 100% and lines must be unique. When the same raw material (name + attribute) has multiple origins and/or certifications, you must create multiple entries in the array (one per origin and/or certification). Use the Fairly Made Material Selector to choose compositionRawAttribute for each compositionRawMaterial.
Purchased items used to produce this component (can be purchased component or purchased material). If the purchased item is a component, usageCategory is mandatory. Only applicable when the entity is linked with an owner (ownerKind with ownerId or ownerUniqueIdentifier); not used when providing a processing step address. Sum of purchased items and used items usagePercentage must equal 100. For Fairly Made traceability / supplier data collection, use purchasedItems (each related purchased item must have a purchaseOrder). Links made only through usedComponents or usedMaterials are not taken into account for that analysis.
Components used as inputs for this component along with their usage percentage. Not taken into account for Fairly Made supplier data collection — use purchasedItems instead.
- Mock serverhttps://doc.api.fairlymade.com/_mock/swagger-fairlymadeapi-v3/manufactured-components
- Productionhttps://api.fairlymade.com/v3/manufactured-components
- Sandboxhttps://api.sandbox.fairlymade.com/v3/manufactured-components
Creation of a component with a supplier as owner. Owner is specified via ownerKind and ownerId; no processing step address.
curl -i -X POST \
https://doc.api.fairlymade.com/_mock/swagger-fairlymadeapi-v3/manufactured-components \
-H 'Content-Type: application/json' \
-d '{
"uniqueIdentifier": "FM-COMPONENT-FABRIC-0001",
"reference": "FAB-001",
"ownerKind": "SUPPLIER",
"ownerId": "5d1bb854-6193-465c-a3b1-69f9e34d8d91",
"category": "MAIN FABRIC (WOVEN)",
"compositions": [
{
"compositionRawMaterial": "COTTON",
"compositionRawAttribute": "CONVENTIONAL",
"compositionPercentage": 100
}
]
}'{ "componentId": "616ccd92-d666-4180-8349-8d125b269fac" }