# MetafieldStorefrontVisibility - admin-graphql - OBJECT Version: 2024-04 ## Description 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. ### Access Scopes ## Fields * [createdAt](/docs/api/admin-graphql/2024-04/scalars/DateTime): DateTime! - The date and time when the metafield was set to visible in the Storefront API. * [id](/docs/api/admin-graphql/2024-04/scalars/ID): ID! - A globally-unique ID. * [key](/docs/api/admin-graphql/2024-04/scalars/String): String! - The key of a metafield to make visible in the Storefront API. * [legacyResourceId](/docs/api/admin-graphql/2024-04/scalars/UnsignedInt64): UnsignedInt64! - The ID of the corresponding resource in the REST Admin API. * [namespace](/docs/api/admin-graphql/2024-04/scalars/String): String! - The namespace of a metafield to make visible in the Storefront API. * [ownerType](/docs/api/admin-graphql/2024-04/enums/MetafieldOwnerType): MetafieldOwnerType! - The owner type of a metafield to make visible in the Storefront API. * [updatedAt](/docs/api/admin-graphql/2024-04/scalars/DateTime): DateTime! - The date and time when the `MetafieldStorefrontVisilibty` record was updated. ## Connections ## Related queries * [metafieldStorefrontVisibility](/docs/api/admin-graphql/2024-04/queries/metafieldStorefrontVisibility) Returns a `MetafieldStorefrontVisibility` record by ID. A `MetafieldStorefrontVisibility` record lists the metafields to make visible in the Storefront API. * [metafieldStorefrontVisibilities](/docs/api/admin-graphql/2024-04/queries/metafieldStorefrontVisibilities) List of the `MetafieldStorefrontVisibility` records. ## Related mutations * [metafieldStorefrontVisibilityCreate](/docs/api/admin-graphql/2024-04/mutations/metafieldStorefrontVisibilityCreate) Creates a `MetafieldStorefrontVisibility` record to make all metafields that belong to the specified resource and have the established `namespace` and `key` combination visible in the Storefront API. ## Related Unions ## Examples ### Retrieve a `MetafieldStorefrontVisibility` record Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-04/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query MetafieldStorefrontVisibility($id: ID!) { metafieldStorefrontVisibility(id: $id) { namespace key } }\",\n \"variables\": {\n \"id\": \"gid://shopify/MetafieldStorefrontVisibility/1027955819\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `query MetafieldStorefrontVisibility($id: ID!) {\n metafieldStorefrontVisibility(id: $id) {\n namespace\n key\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/MetafieldStorefrontVisibility/1027955819\"\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 query MetafieldStorefrontVisibility($id: ID!) {\n metafieldStorefrontVisibility(id: $id) {\n namespace\n key\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/MetafieldStorefrontVisibility/1027955819\"\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 query MetafieldStorefrontVisibility($id: ID!) {\n metafieldStorefrontVisibility(id: $id) {\n namespace\n key\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/MetafieldStorefrontVisibility/1027955819\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "query MetafieldStorefrontVisibility($id: ID!) {\n metafieldStorefrontVisibility(id: $id) {\n namespace\n key\n }\n}" #### Graphql Input { "id": "gid://shopify/MetafieldStorefrontVisibility/1027955819" } #### Graphql Response { "data": { "metafieldStorefrontVisibility": { "namespace": "bakery", "key": "ingredients" } } }