Skip to content

Update a metafield

View as Markdown
patch /api/{ownerResource}/{ownerId}/metafields/{id}

Updates the Metafield resource.

Partially updates a metafield. The body is a JSON Merge Patch document - typically just the new value, which is re-validated against the definition.

Headers

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

Path parameters

NameTypeRequiredDescription
ownerResourcestringrequiredThe owner resource type the metafields are scoped to (e.g. "products", "variants"); must match the definition's ownerType.
ownerIdstringrequiredThe id of the owner record the metafields belong to.
idstringrequiredThe metafield's unique identifier (UUID).

Request body

PropertyTypeRequiredDescription
valuestring | null-Metafield value. Translatable - absent = keep, null = remove the value in the active locale.

Response

200 - Metafield resource updated

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
createdAtstring-The date and time when the resource was created (ISO 8601 format).
definitionstring | null-The MetafieldDefinition this metafield is an instance of. Requires the metafields:read scope. Returned null when the scope is missing.
idstring-The resource's unique identifier (UUID).
metaobjectarray-The referenced metaobject(s). Populated when ?expand=metaobject is requested and the field type is metaobject_reference or list__metaobject_reference. Requires the metaobjects:read scope. Returned empty when the scope is missing.
ownerIdstring | null-The id of the owner record the metafield is attached to.
ownerResourcestringrequiredThe type of resource that the metafield is attached to.
updatedAtstring-The date and time when the resource was last modified (ISO 8601 format).
valuestring-This property supports translations.

The data stored in the metafield. Always stored as a string, regardless of the metafield's type.

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