Skip to content

Create a metafield definition validation

View as Markdown
post /api/metafield_definition_validations

Creates a MetafieldDefinitionValidation resource.

Adds a validation rule to a metafield definition. Reference the metafieldDefinition, the validation name (type) and its value. The rule must be compatible with the definition’s type, otherwise it is rejected with 422.

Request body

PropertyTypeRequiredDescription
metafieldDefinitionstringrequiredThe metafield definition this validation belongs to. Requires the metafields:read scope. Returned null when the scope is missing.
name"/api/metafield_definition_validation_types/min_length" | "/api/metafield_definition_validation_types/max_length" | "/api/metafield_definition_validation_types/min_value" | "/api/metafield_definition_validation_types/max_value" | "/api/metafield_definition_validation_types/max_precision" | "/api/metafield_definition_validation_types/json_schema" | "/api/metafield_definition_validation_types/media_type" | "/api/metafield_definition_validation_types/metaobject_definition"requiredThe type of validation rule.
valuestringrequiredThe validation parameter value. Format depends on the validation type.

Response

201 - MetafieldDefinitionValidation resource created

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
idstring-The resource's unique identifier (UUID).
metafieldDefinitionstring | nullrequiredThe metafield definition this validation belongs to Requires the metafields:read scope. Returned null when the scope is missing.
name"/api/metafield_definition_validation_types/min_length" | "/api/metafield_definition_validation_types/max_length" | "/api/metafield_definition_validation_types/min_value" | "/api/metafield_definition_validation_types/max_value" | "/api/metafield_definition_validation_types/max_precision" | "/api/metafield_definition_validation_types/json_schema" | "/api/metafield_definition_validation_types/media_type" | "/api/metafield_definition_validation_types/metaobject_definition"requiredThe type of validation rule
valuestringrequiredThe validation parameter value. Format depends on the validation 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-

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