Skip to main content
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.
The response wraps the created materials in the standard envelope. Hold onto each 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 the care_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 with PUT /api/care-instruction-materials/{id} (state: "inactive") instead of deleting it, or remove it from all style compositions first.
  • 400 validation_error: text is missing on create, state: "deleted" was passed to the single-update endpoint, or an update carried a non-null position.
  • 403 authorization_error: the id belongs to another organisation. This applies to GET /api/care-instruction-materials/{id}, PUT /api/care-instruction-materials/{id}, DELETE /api/care-instruction-materials/{id} and every item in the bulk PUT.
  • 404 resource_error: the id does 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.