Skip to main content
Version: 202506

Create metafield definition

POST 

/openapi/2025-06/metafield_definition/:owner_resource

Create a new metafield definition.

Request

Path Parameters

    owner_resource stringrequired

    Resource type the metafield definition is attached to:

    • shop: Shop
    • product: Product
    • product_image: Product image
    • product_variant: Product variant
    • order: Order
    • page: Custom page
    • customer: Customer
    • collection: Collection
    • blog: Blog
    • article: Article
    • app: App

Bodyrequired

    namespacestringrequired

    A container for a group of metafields. Grouping metafields within a namespace prevents your metafields from conflicting with other metafields with the same key name. For example, "global"

    keystringrequired

    The key of the metafield (unique within the namespace). For example, "color"

    descriptionstring

    A brief description of the metafield definition

    typestringrequired

    Field type of the metafield:

    • date: Date
    • date_time: Date and time
    • weight: Weight
    • volume: Volume
    • dimension: Dimension
    • integer: Integer
    • number_decimal: Decimal
    • file_reference: File reference
    • single_line_text_field: Single-line text
    • multi_line_text_field: Multi-line text
    • json: JSON
    • color: Color
    • rating: Rating
    • url: URL
    • boolean: Boolean (true or false)
    • string: String
    namestringrequired

    Name of the metafield definition

Responses

OK

Schema
    codestring

    error code

    messagestring

    error message

    data object
    metafield_definition object

    The created metafield definition

    idstring

    The unique identifier for the metafield definition

    keystring

    The key of the metafield (unique within the namespace). For example, "color"

    namestring

    Name of the metafield definition (displayed in the admin panel)

    namespacestring

    A container for a group of metafields. Grouping metafields within a namespace prevents your metafields from conflicting with other metafields with the same key name. For example, "global"

    owner_resourcestring

    Resource type the metafield definition is attached to:

    • shop: Shop
    • product: Product
    • product_image: Product image
    • product_variant: Product variant
    • order: Order
    • page: Custom page
    • customer: Customer
    • collection: Collection
    • blog: Blog
    • article: Article
    • app: App
    typestring

    Field type of the metafield:

    • date: Date
    • date_time: Date and time
    • weight: Weight
    • volume: Volume
    • dimension: Dimension
    • integer: Integer
    • number_decimal: Decimal
    • file_reference: File reference
    • single_line_text_field: Single-line text
    • multi_line_text_field: Multi-line text
    • json: JSON
    • color: Color
    • rating: Rating
    • url: URL
    • boolean: Boolean (true or false)
    • string: String
    descriptionstring

    A brief description of the metafield definition

    create_atstring

    Creation timestamp, in ISO-8601 format

    updated_atstring

    Last update timestamp, in ISO-8601 format