Create a simple Category Level Attribute (CLA) and schedule propagation task.

Handles simple attribute definitions - text, date, numeric, boolean, single-select and multi-select. For the
other definition types use the /column, /matrix, /dictionary or /compound variants of this endpoint; a
definition of the wrong type, one that does not exist or one marked for removal is reported as not found.
Fails when the category already has this attribute definition as a CLA - change the existing one with
PATCH /catalogs/nodes/{id}/attributes/{attributeDefinitionId} instead. An attribute inherited from a parent
category does not count as assigned here, so the call succeeds and creates an assignment on this category
that overrides the inherited one.

The attribute is stored on the category immediately, while copying its value onto products runs as a background
task. That task covers the products in this category; the products in its sub-categories are reached only once
propagation is switched on for this attribute, which is off on a newly created CLA - switch it on, as well as
lock and mandatory, with PATCH /catalogs/nodes/{id}/attributes/{attributeDefinitionId}. The task ID is
returned in the Resource-Id response header and Location points at GET /async/status/{taskId}, which
reports whether the propagation has finished.

For more detailed information on how to work with Category Level Attributes in Bluestone PIM, refer to our help
pages Category Level Attributes (CLA).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The ID of the catalog node/category where the Category Level Attribute (CLA) will be created.

Example: 634c26e14cedfd0001775e9f

string
required

The ID of the attribute definition to be used for the Category Level Attribute
(CLA).

Example: 634c26e14cedfd0001775e9e

Query Params
boolean
Defaults to false

Controls what the propagation task does with the products it reaches that already have a value
for this attribute:

false = Keep the existing product values and fill in only the empty ones. This is the default when the
parameter is omitted.

true = Overwrite the existing product values with the value of this Category Level Attribute (CLA).

Warning: true replaces values on every product the propagation reaches - the products in this category,
and the products in all of its sub-categories as well once propagation is on for this attribute - including
values entered on individual products by hand, however many products that is. The propagation runs in the
background and cannot be undone: setting the flag back to false only changes later propagations, and
restoring the replaced values means setting them again product by product. Send true only when replacing the
existing product values is what was explicitly asked for.

Body Params
string | null

Value to set on the Category Level Attribute (CLA), given as text - for example Some text, 2025-04-25 for a
date or true for a boolean. For single-select and multi-select definitions pass select value IDs instead,
separated by commas for multi-select. Leave it out to attach the attribute without a value.

Headers
string

Specifies the context in which to operate. If omitted, the default context en is used.

In Bluestone PIM, the context is generally synonymous with the language setting. The context determines how product information is tailored and presented based on language or other local specifications.

For more detailed information on how context relates to language settings in Bluestone PIM, refer to the Languages and Context documentation.

Note: The default context is identified by the ID "en". IDs for additional contexts begin with a lowercase "L", not with the digit "1", followed by a number. This naming convention helps distinguish between default and custom contexts within Bluestone PIM.

Responses
202

Accepted

Indicates that the creation request was accepted and the propagation task has been scheduled.

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json