Anchor to metaobjectDefinitionCreatemetaobject
metaobjectDefinitionCreate
mutation
Requires access scope.
Creates a new metaobject definition.
Anchor to Arguments
Arguments
- Anchor to definitiondefinition•Metaobject
Definition requiredCreate Input! The input fields for creating a metaobject definition.
Was this section helpful?
Anchor to MetaobjectDefinitionCreatePayload returnsMetaobjectDefinitionCreatePayload returns
- Anchor to metaobjectDefinitionmetaobject•
Definition The created metaobject definition.
- Anchor to userErrorsuser•
Errors [MetaobjectUser non-nullError!]! The list of errors that occurred from executing the mutation.
Was this section helpful?
- Create a metaobject definition
- Create a metaobject definition with custom access controls
- Create a metaobject definition with the publishable capability enabled
- metaobjectDefinitionCreate reference
Examples
1const { admin } = await authenticate.admin(request);23const response = await admin.graphql(4 `#graphql5 mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {6 metaobjectDefinitionCreate(definition: $definition) {7 metaobjectDefinition {8 name9 type10 fieldDefinitions {11 name12 key13 }14 }15 userErrors {16 field17 message18 code19 }20 }21 }`,22 {23 variables: {24 "definition": {25 "name": "Color swatch",26 "type": "color-swatch",27 "fieldDefinitions": [28 {29 "name": "Hex",30 "key": "hex",31 "type": "single_line_text_field",32 "validations": [33 {34 "name": "regex",35 "value": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"36 }37 ]38 }39 ]40 }41 },42 },43);4445const data = await response.json();46
mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {
metaobjectDefinitionCreate(definition: $definition) {
metaobjectDefinition {
name
type
fieldDefinitions {
name
key
}
}
userErrors {
field
message
code
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) { metaobjectDefinitionCreate(definition: $definition) { metaobjectDefinition { name type fieldDefinitions { name key } } userErrors { field message code } } }",
"variables": {
"definition": {
"name": "Color swatch",
"type": "color-swatch",
"fieldDefinitions": [
{
"name": "Hex",
"key": "hex",
"type": "single_line_text_field",
"validations": [
{
"name": "regex",
"value": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
}
]
}
]
}
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {
metaobjectDefinitionCreate(definition: $definition) {
metaobjectDefinition {
name
type
fieldDefinitions {
name
key
}
}
userErrors {
field
message
code
}
}
}`,
{
variables: {
"definition": {
"name": "Color swatch",
"type": "color-swatch",
"fieldDefinitions": [
{
"name": "Hex",
"key": "hex",
"type": "single_line_text_field",
"validations": [
{
"name": "regex",
"value": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
}
]
}
]
}
},
},
);
const data = await response.json();
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {
metaobjectDefinitionCreate(definition: $definition) {
metaobjectDefinition {
name
type
fieldDefinitions {
name
key
}
}
userErrors {
field
message
code
}
}
}`,
"variables": {
"definition": {
"name": "Color swatch",
"type": "color-swatch",
"fieldDefinitions": [
{
"name": "Hex",
"key": "hex",
"type": "single_line_text_field",
"validations": [
{
"name": "regex",
"value": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
}
]
}
]
}
},
},
});
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
mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {
metaobjectDefinitionCreate(definition: $definition) {
metaobjectDefinition {
name
type
fieldDefinitions {
name
key
}
}
userErrors {
field
message
code
}
}
}
QUERY
variables = {
"definition": {
"name": "Color swatch",
"type": "color-swatch",
"fieldDefinitions": [{"name"=>"Hex", "key"=>"hex", "type"=>"single_line_text_field", "validations"=>[{"name"=>"regex", "value"=>"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"}]}]
}
}
response = client.query(query: query, variables: variables)
Input variables
JSON1{2 "definition": {3 "name": "Color swatch",4 "type": "color-swatch",5 "fieldDefinitions": [6 {7 "name": "Hex",8 "key": "hex",9 "type": "single_line_text_field",10 "validations": [11 {12 "name": "regex",13 "value": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"14 }15 ]16 }17 ]18 }19}
Response
JSON1{2 "metaobjectDefinitionCreate": {3 "metaobjectDefinition": {4 "name": "Color swatch",5 "type": "color-swatch",6 "fieldDefinitions": [7 {8 "name": "Hex",9 "key": "hex"10 }11 ]12 },13 "userErrors": []14 }15}