# useAppMetafields Returns the metafields configured with `shopify.ui.extension.toml`. ## ### UseAppMetafieldsGeneratedType Returns the metafields configured with `shopify.ui.extension.toml`. #### Returns: AppMetafieldEntry[] #### Params: - filters: AppMetafieldFilters export function useAppMetafields< ID extends RenderExtensionPoint = RenderExtensionPoint, >(filters: AppMetafieldFilters = {}): AppMetafieldEntry[] { const appMetafields = useSubscription(useApi().appMetafields); return useMemo(() => { if (filters.key && !filters.namespace) { throw new CheckoutUIExtensionError( 'You must pass in a namespace with a key', ); } const filterKeys = Object.keys(filters) as AppMetafieldFilterKeys[]; if (filterKeys.length) { return appMetafields.filter((app) => { return filterKeys.every((key) => { if (key === 'id' || key === 'type') { return app.target[key] === filters[key]; } return app.metafield[key] === filters[key]; }); }); } return appMetafields; }, [filters, appMetafields]); } ### AppMetafieldFilters ### id value: `string` ### type value: `"customer" | "product" | "shop" | "variant" | "company" | "companyLocation" | "cart"` ### namespace value: `string` ### key value: `string` ### AppMetafieldEntry A metafield associated with the shop or a resource on the checkout. ### target value: `AppMetafieldEntryTarget` The target that is associated to the metadata. {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](https://shopify.dev/docs/apps/store/data-protection/protected-customer-data) when the type is `customer`. ### metafield value: `AppMetafield` The metadata information. ### AppMetafieldEntryTarget The metafield owner. ### type value: `"cart" | "customer" | "product" | "shop" | "variant" | "company" | "companyLocation"` The type of the metafield owner. {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](https://shopify.dev/docs/apps/store/data-protection/protected-customer-data) when the type is `customer`. ### id value: `string` The numeric owner ID that is associated with the metafield. ### AppMetafield Represents a custom metadata attached to a resource. ### key value: `string` The key name of a metafield. ### namespace value: `string` The namespace for a metafield. ### value value: `string | number | boolean` The value of a metafield. ### valueType value: `"string" | "boolean" | "integer" | "json_string" | "float"` The metafield’s information type. ### type value: `string` The metafield's type name. ## Related - [StandardApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/standardapi) - [CheckoutApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/checkoutapi) - [OrderStatusApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/orderstatusapi) - [CartLineDetailsApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/cartlinedetailsapi) - [PickupPointsApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/pickuppointsapi) - [PickupLocationsApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/pickuplocationsapi) - [ShippingMethodDetailsApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/shippingmethoddetailsapi) - [ExtensionPoints](https://shopify.dev/docs/api/checkout-ui-extensions/apis/extensionpoints)