# metafieldDefinitionUnpin - admin-graphql - MUTATION Version: 2024-10 ## Description You can organize your metafields in your Shopify admin by pinning/unpinning metafield definitions. The order of your pinned metafield definitions determines the order in which your metafields are displayed on the corresponding pages in your Shopify admin. By default, only pinned metafields are automatically displayed. ### Access Scopes API client to have access to the namespace and the resource type associated with the metafield definition. ## Arguments * [definitionId](/docs/api/admin-graphql/2024-10/scalars/ID): ID! - The ID of the metafield definition to unpin. ## Returns * [unpinnedDefinition](/docs/api/admin-graphql/2024-10/objects/MetafieldDefinition): MetafieldDefinition The metafield definition that was unpinned. * [userErrors](/docs/api/admin-graphql/2024-10/objects/MetafieldDefinitionUnpinUserError): MetafieldDefinitionUnpinUserError! The list of errors that occurred from executing the mutation. ## Examples ### Unpin a metafield definition Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation metafieldDefinitionUnpin($definitionId: ID!) { metafieldDefinitionUnpin(definitionId: $definitionId) { unpinnedDefinition { name key namespace pinnedPosition } userErrors { field message } } }\",\n \"variables\": {\n \"definitionId\": \"gid://shopify/MetafieldDefinition/1071456133\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation metafieldDefinitionUnpin($definitionId: ID!) {\n metafieldDefinitionUnpin(definitionId: $definitionId) {\n unpinnedDefinition {\n name\n key\n namespace\n pinnedPosition\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"definitionId\": \"gid://shopify/MetafieldDefinition/1071456133\"\n },\n },\n});\n" Ruby example: "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation metafieldDefinitionUnpin($definitionId: ID!) {\n metafieldDefinitionUnpin(definitionId: $definitionId) {\n unpinnedDefinition {\n name\n key\n namespace\n pinnedPosition\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"definitionId\": \"gid://shopify/MetafieldDefinition/1071456133\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation metafieldDefinitionUnpin($definitionId: ID!) {\n metafieldDefinitionUnpin(definitionId: $definitionId) {\n unpinnedDefinition {\n name\n key\n namespace\n pinnedPosition\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"definitionId\": \"gid://shopify/MetafieldDefinition/1071456133\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "mutation metafieldDefinitionUnpin($definitionId: ID!) {\n metafieldDefinitionUnpin(definitionId: $definitionId) {\n unpinnedDefinition {\n name\n key\n namespace\n pinnedPosition\n }\n userErrors {\n field\n message\n }\n }\n}" #### Graphql Input { "definitionId": "gid://shopify/MetafieldDefinition/1071456133" } #### Graphql Response { "data": { "metafieldDefinitionUnpin": { "unpinnedDefinition": { "name": "Instructions to wash your product", "key": "wash", "namespace": "instructions", "pinnedPosition": null }, "userErrors": [] } } }