# Metafields

{% hint style="danger" %}
**Important Notice**

\
Shopify has deprecated the REST Admin API that these Mechanic objects depend on. The product and variant endpoints were removed on Feb 1, 2025, and Shopify is phasing out the remaining REST endpoints over time. Read about the deprecation [here](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model#whats-changing) and [here](https://shopify.dev/docs/apps/build/graphql/migrate).\
\
Use the [GraphQL](https://learn.mechanic.dev/core/actions/shopify#graphql) going forward. The [product](https://learn.mechanic.dev/platform/liquid/objects/shopify/product) and [variant](https://learn.mechanic.dev/platform/liquid/objects/shopify/variant) objects ceased to work on Feb 1, 2025 due to changes made by Shopify. Shopify is phasing out the REST API entirely — read more [here](https://shopify.dev/docs/apps/build/graphql/migrate).

\
All of our [library tasks](https://tasks.mechanic.dev/) will be ported to use GraphQL only, which will provide a model for how you can update your custom tasks. You'll be able to update your non-customized library tasks with a click of a button :relaxed:\
\
Please see these [guides](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql) for migrating your custom tasks to GraphQL.
{% endhint %}

Mechanic's Liquid implementation contains three object types that address Shopify's metafield system:

* [Metafield](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields/metafield-object) — Directly mirrors metafield data from the Shopify REST Admin API, including values that are possibly JSON-encoded strings.\\
* [Metafield representation](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields/metafield-representation-object) — Resembles [Shopify's metafield variable](https://shopify.dev/api/liquid/objects/metafield), containing the metafield type and the parsed, appropriately-typed value. Also contains a reference to the metafield object itself, and to any objects referenced by the metafield (i.e. to a product object, for a product\_reference metafield). Note that metafield representations are not available for or applicable to [deprecated metafields](https://shopify.dev/api/liquid/objects/metafield#deprecated-metafields).\\
* [Metafield collection](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields/metafield-collection) — An iterable set of metafields for a resource, which also supports narrowing by namespace, or resolving to an individual metafield by key.

To retrieve the value of a modern metafield, use `resource.metafields.namespace.key.value`.

To retrieve the value of a [deprecated](https://shopify.dev/api/liquid/objects/metafield#deprecated-metafields) metafield, use `resource.metafields.namespace.key`.
