post /api/metafield_definitions
Creates a MetafieldDefinition resource.
Declares a custom field. Give it a namespace and key (which together identify it), the ownerType it applies to, the type of data it holds, and optionally validations. Once created, you can set Metafield values for it on records of that owner type.
Request body Property Type Required Description constraintsEmbeddedMetafieldDefinitionConstraintResource[]- The constraint rules scoping where this metafield definition applies (e.g. by category or channel). Show constraints fields Property Type Required Description key"/api/metafield_definition_constraint_types/category" | "/api/metafield_definition_constraint_types/channel" | "/api/metafield_definition_constraint_types/category_channel"required The type of constraint rule valuesstring[]required Array of constraint values. Format depends on the constraint type.
descriptionstring | null- keystring- namestring- namespacestring- ownerType"/api/metafield_owner_types/products" | "/api/metafield_owner_types/collections" | "/api/metafield_owner_types/variants" | "/api/metafield_owner_types/sale_offers" | "/api/metafield_owner_types/purchase_offers"required type"/api/metafield_definition_types/single_line_text_field" | "/api/metafield_definition_types/multi_line_text_field" | "/api/metafield_definition_types/number_integer" | "/api/metafield_definition_types/number_decimal" | "/api/metafield_definition_types/json" | "/api/metafield_definition_types/list__single_line_text_field" | "/api/metafield_definition_types/list__number_integer" | "/api/metafield_definition_types/list__number_decimal" | "/api/metafield_definition_types/list__product_reference" | "/api/metafield_definition_types/list__media_reference" | "/api/metafield_definition_types/product_reference" | "/api/metafield_definition_types/media_reference" | "/api/metafield_definition_types/metaobject_reference" | "/api/metafield_definition_types/list__metaobject_reference"required validationsEmbeddedMetafieldDefinitionValidationResource[]- The validation rules applied to the values of metafields using this definition. Show validations fields Property Type Required Description 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"required The type of validation rule valuestringrequired The validation parameter value. Format depends on the validation type.
Response 201 - MetafieldDefinition resource created
Format JSON-LD JSON Property Type Required Description @contextstring | object- @idstringrequired @typestringrequired constraintsEmbeddedMetafieldDefinitionConstraintResource[]- The constraint rules scoping where this metafield definition applies (e.g. by category or channel). Show constraints fields Property Type Required Description key"/api/metafield_definition_constraint_types/category" | "/api/metafield_definition_constraint_types/channel" | "/api/metafield_definition_constraint_types/category_channel"required The type of constraint rule valuesstring[]required Array of constraint values. Format depends on the constraint type.
createdAtstring- The date and time when the resource was created (ISO 8601 format). descriptionstring | null- The description of the metafield definition. idstring- The resource's unique identifier (UUID). keystring- The unique identifier for the metafield definition within its namespace. metafieldsCountinteger- The count of the metafields that belong to the metafield definition. namestring- The human-readable name of the metafield definition. namespacestring- The container for a group of metafields that the metafield definition is associated with. ownerType"/api/metafield_owner_types/products" | "/api/metafield_owner_types/collections" | "/api/metafield_owner_types/variants" | "/api/metafield_owner_types/sale_offers" | "/api/metafield_owner_types/purchase_offers"required The resource type that the metafield definition is attached to. type"/api/metafield_definition_types/single_line_text_field" | "/api/metafield_definition_types/multi_line_text_field" | "/api/metafield_definition_types/number_integer" | "/api/metafield_definition_types/number_decimal" | "/api/metafield_definition_types/json" | "/api/metafield_definition_types/list__single_line_text_field" | "/api/metafield_definition_types/list__number_integer" | "/api/metafield_definition_types/list__number_decimal" | "/api/metafield_definition_types/list__product_reference" | "/api/metafield_definition_types/list__media_reference" | "/api/metafield_definition_types/product_reference" | "/api/metafield_definition_types/media_reference" | "/api/metafield_definition_types/metaobject_reference" | "/api/metafield_definition_types/list__metaobject_reference"required The type of data that each of the metafields that belong to the metafield definition will store. updatedAtstring- The date and time when the resource was last modified (ISO 8601 format). validationsEmbeddedMetafieldDefinitionValidationResource[]- The validation rules applied to the values of metafields using this definition. Show validations fields Property Type Required Description 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"required The type of validation rule valuestringrequired The validation parameter value. Format depends on the validation type.
Property Type Required Description constraintsEmbeddedMetafieldDefinitionConstraintResource[]- The constraint rules scoping where this metafield definition applies (e.g. by category or channel). Show constraints fields Property Type Required Description key"/api/metafield_definition_constraint_types/category" | "/api/metafield_definition_constraint_types/channel" | "/api/metafield_definition_constraint_types/category_channel"required The type of constraint rule valuesstring[]required Array of constraint values. Format depends on the constraint type.
createdAtstring- The date and time when the resource was created (ISO 8601 format). descriptionstring | null- The description of the metafield definition. idstring- The resource's unique identifier (UUID). keystring- The unique identifier for the metafield definition within its namespace. metafieldsCountinteger- The count of the metafields that belong to the metafield definition. namestring- The human-readable name of the metafield definition. namespacestring- The container for a group of metafields that the metafield definition is associated with. ownerType"/api/metafield_owner_types/products" | "/api/metafield_owner_types/collections" | "/api/metafield_owner_types/variants" | "/api/metafield_owner_types/sale_offers" | "/api/metafield_owner_types/purchase_offers"required The resource type that the metafield definition is attached to. type"/api/metafield_definition_types/single_line_text_field" | "/api/metafield_definition_types/multi_line_text_field" | "/api/metafield_definition_types/number_integer" | "/api/metafield_definition_types/number_decimal" | "/api/metafield_definition_types/json" | "/api/metafield_definition_types/list__single_line_text_field" | "/api/metafield_definition_types/list__number_integer" | "/api/metafield_definition_types/list__number_decimal" | "/api/metafield_definition_types/list__product_reference" | "/api/metafield_definition_types/list__media_reference" | "/api/metafield_definition_types/product_reference" | "/api/metafield_definition_types/media_reference" | "/api/metafield_definition_types/metaobject_reference" | "/api/metafield_definition_types/list__metaobject_reference"required The type of data that each of the metafields that belong to the metafield definition will store. updatedAtstring- The date and time when the resource was last modified (ISO 8601 format). validationsEmbeddedMetafieldDefinitionValidationResource[]- The validation rules applied to the values of metafields using this definition. Show validations fields Property Type Required Description 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"required The type of validation rule valuestringrequired The validation parameter value. Format depends on the validation type.
Errors 400 - Invalid input
Format JSON-LD JSON Property Type Required Description @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}.
Property Type Required Description codestring- Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only. 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
Property Type Required Description @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
Format JSON-LD JSON Property Type Required Description @contextstring | object- @idstringrequired @typestringrequired descriptionstring- detailstring- instancestring | null- statusinteger- titlestring | null- typestring- violationsobject[]- Show violations fields Property Type Required Description codestring- The code of the violation hintstring- An extra hint to understand the violation messagestringrequired The 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 propertyPathstringrequired The property path of the violation slugstring- Stable centralized error-code slug for this violation (see /api/error-codes).
Property Type Required Description detailstring- instancestring | null- statusinteger- titlestring | null- typestring- violationsobject[]- Show violations fields Property Type Required Description codestring- The code of the violation hintstring- An extra hint to understand the violation messagestringrequired The 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 propertyPathstringrequired The property path of the violation slugstring- Stable centralized error-code slug for this violation (see /api/error-codes).