Anchor to section titled 'undefined'

metafieldStorefrontVisibility
query
deprecated

Returns a MetafieldStorefrontVisibility record by ID. A MetafieldStorefrontVisibility record lists the metafields to make visible in the Storefront API. This query will be removed in a future version. Use the access.storefront field inside the metafieldDefinition query instead.


Anchor to id
id
required

The ID of the MetafieldStorefrontVisibility to return.


Was this section helpful?

By default, the Storefront API can't read metafields. To make specific metafields visible in the Storefront API, you need to create a MetafieldStorefrontVisibility record. A MetafieldStorefrontVisibility record is a list of the metafields, defined by the owner_type, namespace, and key, to make visible in the Storefront API.

Learn about [exposing metafields in the Storefront API] (https://shopify.dev/custom-storefronts/products-collections/metafields) for more details.


Was this section helpful?
Hide code
DescriptionCopy
query MetafieldStorefrontVisibility($id: ID!) {
  metafieldStorefrontVisibility(id: $id) {
    namespace
    key
  }
}
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": "query MetafieldStorefrontVisibility($id: ID!) { metafieldStorefrontVisibility(id: $id) { namespace key } }",
 "variables": {
    "id": "gid://shopify/MetafieldStorefrontVisibility/1027955819"
  }
}'
const { admin } = await authenticate.admin(request);

const response = await admin.graphql(
  `#graphql
  query MetafieldStorefrontVisibility($id: ID!) {
    metafieldStorefrontVisibility(id: $id) {
      namespace
      key
    }
  }`,
  {
    variables: {
      "id": "gid://shopify/MetafieldStorefrontVisibility/1027955819"
    },
  },
);

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
  query MetafieldStorefrontVisibility($id: ID!) {
    metafieldStorefrontVisibility(id: $id) {
      namespace
      key
    }
  }
QUERY

variables = {
  "id": "gid://shopify/MetafieldStorefrontVisibility/1027955819"
}

response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
  data: {
    "query": `query MetafieldStorefrontVisibility($id: ID!) {
      metafieldStorefrontVisibility(id: $id) {
        namespace
        key
      }
    }`,
    "variables": {
      "id": "gid://shopify/MetafieldStorefrontVisibility/1027955819"
    },
  },
});
use Shopify\Clients\Graphql;

$client = new Graphql("your-development-store.myshopify.com", $accessToken);
$query = <<<QUERY
  query MetafieldStorefrontVisibility($id: ID!) {
    metafieldStorefrontVisibility(id: $id) {
      namespace
      key
    }
  }
QUERY;

$variables = [
  "id" => "gid://shopify/MetafieldStorefrontVisibility/1027955819",
];

$response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{
  "id": "gid://shopify/MetafieldStorefrontVisibility/1027955819"
}
Hide code
Response
JSON
{
  "metafieldStorefrontVisibility": {
    "namespace": "bakery",
    "key": "ingredients"
  }
}