Skip to content

Create an attribute definition

View as Markdown
post /api/attribute_definitions

Creates a AttributeDefinition resource.

Creates an attribute definition. code and type (string or list) are required and cannot be changed afterwards, nor can multiple. Attach it to categories with categories, and send Flowkiwi-Locale to set the translatable name for a specific locale. The response is the full attribute definition.

Headers

NameTypeRequiredDescription
Flowkiwi-Localestring-Specifies the locale for properties that support localization. If not provided, the default locale will be used.

Request body

PropertyTypeRequiredDescription
categoriesstring[]-Requires the categories:read scope. Returned empty when the scope is missing.
codestring | nullrequired
multipleboolean-Whether products may carry several values (one per option) for this definition. Only meaningful for list definitions; normalized to false for string definitions regardless of the value sent. Immutable once created.
namestring | null-
type"string" | "list" | nullrequired

Response

201 - AttributeDefinition resource created

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
categoriesstring[]-The categories this attribute definition is attached to. Requires the categories:read scope. Returned empty when the scope is missing.
codestring | null-The stable, machine-readable identifier of the attribute definition (e.g. color, care-instructions). Immutable once created.
createdAtstring-Creation date of the resource (ISO 8601 format).
idstring-
multipleboolean-Whether products may carry several values for this definition (one per option). Meaningful for list definitions only; always false for string definitions regardless of the requested value. Immutable once created.
namestring | null-This property supports translations.

The human-readable name of the attribute definition.
type"string" | "list" | null-The type of the attribute definition, determining whether its values are free text (string) or must come from a fixed set of options (list). Immutable once created.
updatedAtstring-Last modification date of the resource (ISO 8601 format).
valuesCountinteger-The count of the product attribute values that reference this definition.

Errors

400 - Invalid input

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
codestring-Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.
descriptionstring | null-
detailstring | null-A human-readable explanation specific to this occurrence of the problem.
instancestring | null-A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
messagestring-End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.
slugstring-Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.
statusinteger | null-
titlestring | null-A short, human-readable summary of the problem. For a catalogued error it repeats the slug.
typestring-A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.

403 - Access denied. The caller is missing one or more permissions required for this operation.

Content-Type: application/problem+json

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
detailstring-
missingPermissionsstring[]-Permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied permission.
statusinteger-
titlestring-
typestring-

422 - An error occurred

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
descriptionstring-
detailstring-
instancestring | null-
statusinteger-
titlestring | null-
typestring-
violationsobject[]-
Show violations fields
PropertyTypeRequiredDescription
codestring-The code of the violation
hintstring-An extra hint to understand the violation
messagestringrequiredThe message associated with the violation
parametersobject-Dynamic placeholder values for the violation message template (substitute into the code catalogue message).
payloadobject-The serialized payload of the violation
propertyPathstringrequiredThe property path of the violation
slugstring-Stable centralized error-code slug for this violation (see /api/error-codes).