When to use this. A care instruction material names a fibre or fabric component: for
example “spandex”, “polyester”, or “micro fleece polyester”. Materials are created once in
Admin, given a stable user-defined ID, and then selected on styles to define the percentage
composition within each care instruction layer. Use these endpoints to build and maintain that
material library. Multi-language translation of material text requires a Professional licence.
The workflow
Materials sit at the innermost level of the care instruction setup hierarchy: layers contain compositions, and each composition entry picks a material from this library. The typical path is to create the materials, keep them active so they appear in the style-level dropdown, and retire or bulk-update them as your fibre vocabulary evolves.1
Create materials
POST /api/care-instruction-materials with the default text and an optional user-defined ID.
The body is an array: one or many materials are created in a single all-or-nothing
transaction.2
Add translations (optional)
Include a
languages array in the create body, or update an existing material via
PUT /api/care-instruction-materials/{id} with a replacement languages list. Requires a
Professional licence and at least one language configured under Admin > General Settings >
Languages with “Use for Care Instructions” enabled.3
Find and list materials
GET /api/care-instruction-materials with filters (text, userDefinedIds, state) to
look up materials for import verification or to drive a selection dropdown.
GET /api/care-instruction-materials/{id} returns a single material with its per-language
texts.4
Retire or bulk-manage
Use
PUT /api/care-instruction-materials/{id} to deactivate a single material, or
PUT /api/care-instruction-materials (bulk) to update text, user-defined IDs, states and
translations, or hard-delete multiple materials, in one transaction by setting
state: "deleted" on those items. A material can only be hard-deleted when it is not
referenced by any style. Position cannot be changed through these endpoints: leave position
out of the body, because a non-null value is rejected.Walkthrough
Create a “spandex” material with per-language translations in a single call. The body is an array: all items in the array are committed atomically.id: it is
the stable reference used when updating, deactivating, or referencing the material on a
style’s care instruction composition.
Field reference
Roles & permissions
Creating, updating and deleting care instruction materials requires thecare_instructions
permission at write level, and the organisation must have the Care Instructions module
enabled. In practice this means CompanyAdmin, or the Care Instruction Admin role held
together with CompanyUser where flexible admin roles are enabled. The Care Instruction User
role is not enough: it grants style-level access only, not management of the material library.
Reading a single material with GET /api/care-instruction-materials/{id} needs only read-level
care_instructions permission (in practice CompanyAdmin, CompanyUser or Care Instruction
User) with the module enabled.
Multi-language translations require a Professional licence subscription. The
languages
field is accepted on all tiers but translation values are only surfaced where the feature is
enabled.When things go wrong
Errors use the standard envelope (status: "error", a code, and error.details[]). See
Errors & responses for the full list of codes and how to resolve them.
Common cases:
- 409 Conflict on
DELETE: the material is still referenced by one or more styles. Deactivate it withPUT /api/care-instruction-materials/{id}(state: "inactive") instead of deleting it, or remove it from all style compositions first. - 400 validation_error:
textis missing on create,state: "deleted"was passed to the single-update endpoint, or an update carried a non-nullposition. - 403 authorization_error: the
idbelongs to another organisation. This applies toGET /api/care-instruction-materials/{id},PUT /api/care-instruction-materials/{id},DELETE /api/care-instruction-materials/{id}and every item in the bulkPUT. - 404 resource_error: the
iddoes not exist in any organisation.
What to call next
Care instruction layers
Create the layers (Main, Lining, Shell…) that materials are composed within on styles.
Care instructions
Create the washing and handling instructions that sit alongside compositions on a style.
Colours
Build the colour library used alongside care instruction layers on styles.
Seasons
Create the seasons that styles, and their care instruction data, are filed under.