Anchor to section titled 'undefined'

metaobjectDefinitionUpdate
mutation

Requires write_metaobject_definitions access scope.

Updates a metaobject definition with new settings and metafield definitions.


The input fields for updating a metaobject definition.

Anchor to id
id
required

The ID of the metaobject definition to update.


Was this section helpful?

The updated metaobject definition.

The list of errors that occurred from executing the mutation.


Was this section helpful?

Examples

Hide code
DescriptionCopy
mutation UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) {
  metaobjectDefinitionUpdate(id: $id, definition: $definition) {
    metaobjectDefinition {
      id
      name
      displayNameKey
      fieldDefinitions {
        name
        key
        type {
          name
        }
      }
    }
    userErrors {
      field
      message
      code
    }
  }
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2024-01/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) { metaobjectDefinitionUpdate(id: $id, definition: $definition) { metaobjectDefinition { id name displayNameKey fieldDefinitions { name key type { name } } } userErrors { field message code } } }",
 "variables": {
    "id": "gid://shopify/MetaobjectDefinition/578408816",
    "definition": {
      "displayNameKey": "description",
      "fieldDefinitions": [
        {
          "create": {
            "key": "description",
            "name": "Description",
            "type": "single_line_text_field"
          }
        }
      ]
    }
  }
}'
const { admin } = await authenticate.admin(request);

const response = await admin.graphql(
  `#graphql
  mutation UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) {
    metaobjectDefinitionUpdate(id: $id, definition: $definition) {
      metaobjectDefinition {
        id
        name
        displayNameKey
        fieldDefinitions {
          name
          key
          type {
            name
          }
        }
      }
      userErrors {
        field
        message
        code
      }
    }
  }`,
  {
    variables: {
      "id": "gid://shopify/MetaobjectDefinition/578408816",
      "definition": {
        "displayNameKey": "description",
        "fieldDefinitions": [
          {
            "create": {
              "key": "description",
              "name": "Description",
              "type": "single_line_text_field"
            }
          }
        ]
      }
    },
  },
);

const data = await response.json();
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 UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) {
    metaobjectDefinitionUpdate(id: $id, definition: $definition) {
      metaobjectDefinition {
        id
        name
        displayNameKey
        fieldDefinitions {
          name
          key
          type {
            name
          }
        }
      }
      userErrors {
        field
        message
        code
      }
    }
  }
QUERY

variables = {
  "id": "gid://shopify/MetaobjectDefinition/578408816",
  "definition": {
    "displayNameKey": "description",
    "fieldDefinitions": [{"create"=>{"key"=>"description", "name"=>"Description", "type"=>"single_line_text_field"}}]
  }
}

response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
  data: {
    "query": `mutation UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) {
      metaobjectDefinitionUpdate(id: $id, definition: $definition) {
        metaobjectDefinition {
          id
          name
          displayNameKey
          fieldDefinitions {
            name
            key
            type {
              name
            }
          }
        }
        userErrors {
          field
          message
          code
        }
      }
    }`,
    "variables": {
      "id": "gid://shopify/MetaobjectDefinition/578408816",
      "definition": {
        "displayNameKey": "description",
        "fieldDefinitions": [
          {
            "create": {
              "key": "description",
              "name": "Description",
              "type": "single_line_text_field"
            }
          }
        ]
      }
    },
  },
});
use Shopify\Clients\Graphql;

$client = new Graphql("your-development-store.myshopify.com", $accessToken);
$query = <<<QUERY
  mutation UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) {
    metaobjectDefinitionUpdate(id: $id, definition: $definition) {
      metaobjectDefinition {
        id
        name
        displayNameKey
        fieldDefinitions {
          name
          key
          type {
            name
          }
        }
      }
      userErrors {
        field
        message
        code
      }
    }
  }
QUERY;

$variables = [
  "id" => "gid://shopify/MetaobjectDefinition/578408816",
  "definition" => [
    "displayNameKey" => "description",
    "fieldDefinitions" => [{"create"=>{"key"=>"description", "name"=>"Description", "type"=>"single_line_text_field"}}],
  ],
];

$response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{
  "id": "gid://shopify/MetaobjectDefinition/578408816",
  "definition": {
    "displayNameKey": "description",
    "fieldDefinitions": [
      {
        "create": {
          "key": "description",
          "name": "Description",
          "type": "single_line_text_field"
        }
      }
    ]
  }
}
Hide code
Response
JSON
{
  "metaobjectDefinitionUpdate": {
    "metaobjectDefinition": {
      "id": "gid://shopify/MetaobjectDefinition/578408816",
      "name": "LookBook",
      "displayNameKey": "description",
      "fieldDefinitions": [
        {
          "name": "Another Lookbook",
          "key": "another_lookbook",
          "type": {
            "name": "metaobject_reference"
          }
        },
        {
          "name": "Season",
          "key": "cover_image",
          "type": {
            "name": "file_reference"
          }
        },
        {
          "name": "Season",
          "key": "season",
          "type": {
            "name": "single_line_text_field"
          }
        },
        {
          "name": "Year",
          "key": "year",
          "type": {
            "name": "number_integer"
          }
        },
        {
          "name": "Description",
          "key": "description",
          "type": {
            "name": "single_line_text_field"
          }
        }
      ]
    },
    "userErrors": []
  }
}