Skip to content

Update a collection

View as Markdown
patch /api/collections/{id}

Updates the Collection resource.

Partially updates a collection. The body is a JSON Merge Patch document: include only the fields you want to change - for example to rename it, change its status, move it under a different parent, or update the products it groups.

Headers

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

Path parameters

NameTypeRequiredDescription
idstringrequiredCollection identifier

Request body

PropertyTypeRequiredDescription
childrensstring[]-A list of direct child Collection IRIs nested under this collection. Requires the collections:read scope. Returned empty when the scope is missing.
namestring | null-The display name of the collection.
parentstring-The parent Collection to which this collection belongs, if any. Requires the collections:read scope. Returned null when the scope is missing.
productsstring[]-A list of Product IRIs the collection groups together. Requires the products:read scope. Returned empty when the scope is missing.
status"/api/statuses/DRAFT" | "/api/statuses/ACTIVE" | "/api/statuses/ARCHIVED"-The status of the collection.

Response

200 - Collection resource updated

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
childrensarray-A list of direct child Collection IRIs nested under this collection. Serialized as IRI strings by default; pass ?expand=children to embed direct children (one level only). Requires the collections:read scope. Returned empty when the scope is missing.
createdAtstring-The date and time when the resource was created (ISO 8601 format).
idstring-The resource's unique identifier (UUID).
namestring | null-This property supports translations.

The display name of the collection.
parentstring | Collection | null-The parent Collection to which this collection belongs, if any. Serialized as IRI string by default; pass ?expand=parent to embed the direct parent (one level only). Filter with ?exists[parent]=false to list root collections (no parent) or ?exists[parent]=true for nested ones. Requires the collections:read scope. Returned null when the scope is missing.
productsstring[]-A list of Product IRIs the collection groups together. Requires the products:read scope. Returned empty when the scope is missing.
status"/api/statuses/DRAFT" | "/api/statuses/ACTIVE" | "/api/statuses/ARCHIVED"-The status of the collection.
updatedAtstring-The date and time when the resource was last modified (ISO 8601 format).

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-

404 - Not found

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}.

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).