--- title: metafieldDefinitionTypes - GraphQL Admin description: |- Each metafield definition has a type, which defines the type of information that it can store. This type is enforced across every instance of the resource that owns the metafield definition. Refer to the [list of supported metafield types](https://shopify.dev/apps/metafields/types). api_version: 2025-10 api_name: admin type: query api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/latest/queries/metafielddefinitiontypes md: https://shopify.dev/docs/api/admin-graphql/latest/queries/metafielddefinitiontypes.md --- # metafield​Definition​Types query Each metafield definition has a type, which defines the type of information that it can store. This type is enforced across every instance of the resource that owns the metafield definition. Refer to the [list of supported metafield types](https://shopify.dev/apps/metafields/types). ## Possible returns * Metafield​Definition​Type [\[Metafield​Definition​Type!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinitionType) A metafield definition type provides basic foundation and validation for a metafield. *** ## Examples * ### Fetch all metafield definition types #### Description Fetch the full list of metafield definition types along with their supported validations. #### Query ```graphql query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }" }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }`, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } } QUERY response = client.query(query: query) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: `query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }`, }); ``` #### Response ```json { "metafieldDefinitionTypes": [ { "category": "TRUE_FALSE", "name": "boolean", "supportsDefinitionMigrations": true, "supportedValidations": [] }, { "category": "COLOR", "name": "color", "supportsDefinitionMigrations": true, "supportedValidations": [] }, { "category": "DATE_TIME", "name": "date_time", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "date_time" }, { "name": "max", "type": "date_time" } ] }, { "category": "DATE_TIME", "name": "date", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "date" }, { "name": "max", "type": "date" } ] }, { "category": "MEASUREMENT", "name": "dimension", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "dimension" }, { "name": "max", "type": "dimension" } ] }, { "category": "JSON", "name": "json", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "schema", "type": "json" } ] }, { "category": "LANGUAGE", "name": "language", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "COLOR", "name": "list.color", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "DATE_TIME", "name": "list.date_time", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "date_time" }, { "name": "max", "type": "date_time" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "DATE_TIME", "name": "list.date", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "date" }, { "name": "max", "type": "date" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "MEASUREMENT", "name": "list.dimension", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "dimension" }, { "name": "max", "type": "dimension" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "NUMBER", "name": "list.number_decimal", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "number_decimal" }, { "name": "max", "type": "number_decimal" }, { "name": "max_precision", "type": "number_integer" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "NUMBER", "name": "list.number_integer", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "number_integer" }, { "name": "max", "type": "number_integer" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "RATING", "name": "list.rating", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "scale_min", "type": "number_decimal" }, { "name": "scale_max", "type": "number_decimal" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "TEXT", "name": "list.single_line_text_field", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "number_integer" }, { "name": "max", "type": "number_integer" }, { "name": "regex", "type": "single_line_text_field" }, { "name": "choices", "type": "list.single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "URL", "name": "list.url", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "allowed_domains", "type": "list.single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "MEASUREMENT", "name": "list.volume", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "volume" }, { "name": "max", "type": "volume" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "MEASUREMENT", "name": "list.weight", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "min", "type": "weight" }, { "name": "max", "type": "weight" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "MONEY", "name": "money", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "TEXT", "name": "multi_line_text_field", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "number_integer" }, { "name": "max", "type": "number_integer" }, { "name": "regex", "type": "single_line_text_field" } ] }, { "category": "NUMBER", "name": "number_decimal", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "number_decimal" }, { "name": "max", "type": "number_decimal" }, { "name": "max_precision", "type": "number_integer" } ] }, { "category": "NUMBER", "name": "number_integer", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "number_integer" }, { "name": "max", "type": "number_integer" } ] }, { "category": "RATING", "name": "rating", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "scale_min", "type": "number_decimal" }, { "name": "scale_max", "type": "number_decimal" } ] }, { "category": "TEXT", "name": "rich_text_field", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "TEXT", "name": "single_line_text_field", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "number_integer" }, { "name": "max", "type": "number_integer" }, { "name": "regex", "type": "single_line_text_field" }, { "name": "choices", "type": "list.single_line_text_field" } ] }, { "category": "URL", "name": "url", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "allowed_domains", "type": "list.single_line_text_field" } ] }, { "category": "LINK", "name": "link", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "allowed_domains", "type": "list.single_line_text_field" } ] }, { "category": "LINK", "name": "list.link", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "allowed_domains", "type": "list.single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "MEASUREMENT", "name": "volume", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "volume" }, { "name": "max", "type": "volume" } ] }, { "category": "MEASUREMENT", "name": "weight", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "weight" }, { "name": "max", "type": "weight" } ] }, { "category": "REFERENCE", "name": "company_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "REFERENCE", "name": "list.company_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "customer_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "REFERENCE", "name": "list.customer_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "product_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "REFERENCE", "name": "list.product_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "collection_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "REFERENCE", "name": "list.collection_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "variant_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "REFERENCE", "name": "list.variant_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "file_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "file_type_options", "type": "list.single_line_text_field" } ] }, { "category": "REFERENCE", "name": "list.file_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "file_type_options", "type": "list.single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "product_taxonomy_value_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "product_taxonomy_attribute_handle", "type": "single_line_text_field" } ] }, { "category": "REFERENCE", "name": "list.product_taxonomy_value_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "product_taxonomy_attribute_handle", "type": "single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "metaobject_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "metaobject_definition_id", "type": "single_line_text_field" } ] }, { "category": "REFERENCE", "name": "list.metaobject_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "metaobject_definition_id", "type": "single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "mixed_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "metaobject_definition_ids", "type": "list.single_line_text_field" } ] }, { "category": "REFERENCE", "name": "list.mixed_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "metaobject_definition_ids", "type": "list.single_line_text_field" }, { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "page_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] }, { "category": "REFERENCE", "name": "list.page_reference", "supportsDefinitionMigrations": false, "supportedValidations": [ { "name": "list.min", "type": "number_integer" }, { "name": "list.max", "type": "number_integer" } ] }, { "category": "REFERENCE", "name": "order_reference", "supportsDefinitionMigrations": false, "supportedValidations": [] } ] } ``` ## Fetch all metafield definition types [Open in GraphiQL](http://localhost:3457/graphiql?query=query%20MetafieldDefinitionTypes%20%7B%0A%20%20metafieldDefinitionTypes%20%7B%0A%20%20%20%20category%0A%20%20%20%20name%0A%20%20%20%20supportsDefinitionMigrations%0A%20%20%20%20supportedValidations%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D) ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }`, ); const json = await response.json(); return json.data; } ``` ##### GQL ``` query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } } ``` ##### cURL ``` curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }" }' ``` ##### React Router ``` import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }`, ); const json = await response.json(); return json.data; } ``` ##### Node.js ``` const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: `query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } }`, }); ``` ##### Ruby ``` session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query MetafieldDefinitionTypes { metafieldDefinitionTypes { category name supportsDefinitionMigrations supportedValidations { name type } } } QUERY response = client.query(query: query) ``` ## Response JSON ```json { "metafieldDefinitionTypes": [ { "category": "TRUE_FALSE", "name": "boolean", "supportsDefinitionMigrations": true, "supportedValidations": [] }, { "category": "COLOR", "name": "color", "supportsDefinitionMigrations": true, "supportedValidations": [] }, { "category": "DATE_TIME", "name": "date_time", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", "type": "date_time" }, { "name": "max", "type": "date_time" } ] }, { "category": "DATE_TIME", "name": "date", "supportsDefinitionMigrations": true, "supportedValidations": [ { "name": "min", ```