Open Metafields for the app in the Developer Portal. The owner types shown match the Store API permissions your app currently requests — add a scope on Permissions first, then the resource appears here.
Namespace and keys#
Each declaration becomes a live definition under app:{slug}.{key} on install. Keys must be unique per owner_type within your app. Choose human-readable Name and optional Description text; merchants see these in Store Admin metafield settings.
Scopes and materialization#
Declaration validates against your app's requested permissions. Materialization on a store additionally requires the merchant to have granted those scopes at install. A declaration for read_products does not appear on a store where the merchant denied product access.
Access and capabilities#
Set App access (private or shared) and optional storefront, search, filter, and translation capabilities according to the type's capability matrix. These flags are part of the reviewed contract — they govern which other apps can read values and which merchant or buyer surfaces can read or edit them. Shared app access permits reads; it does not permit another app to write your definitions.
Limits#
Scope |
Limit |
|---|---|
App-owned definitions per app |
50, across every owner type and value type |
Key, name and description length |
Enforced when you declare; the Metafields page shows the live caps |
Properties on one cart or wishlist line |
20, shared with every other app on that line |
Property value |
Validated against the definition's type, choices and validation rules, and against the platform's per-value size caps |
Line owner value types |
Text, True / false, Date, Single select. The wider registry belongs to catalog, order and order-item owners. |
Artifact lease ( |
1 hour minimum, 90 days maximum, 30 days by default — see Line artifacts |