{"id":"82b6f2be-6e81-410f-8e8e-529547df1958","task":"Define Shopify metaobject definitions and create metaobject entries via Admin GraphQL to power structured content (e.g., store locator data)","domain":"shopify.dev","steps":["Call metaobjectDefinitionCreate mutation with a type handle, name, and fieldDefinitions array — each field has key, type (e.g., single_line_text_field, number_integer, file_reference), and validations","Set capabilities.publishable.enabled to true on the definition if entries need to be published/unpublished independently","Create entries with metaobjectCreate, passing the definition's type handle and fields array of {key, value} pairs; file_reference fields take a GID of a previously uploaded File","Query entries with the metaobjects connection, filtering by type; use the edges.node.fields to read back typed values","Reference metaobject entries from products or other resources by writing a metafield of type metaobject_reference pointing to the entry GID"],"gotchas":["Metaobject type handles are immutable after creation; plan your naming convention carefully — changing a type requires deleting and recreating the definition along with all entries","The file_reference field type requires that the file already exist in Shopify's Files system (uploaded via stagedUploadsCreate + fileCreate) before the metaobject entry can reference it","Querying metaobjects by type requires the type argument on the metaobjects connection — omitting it returns all types and can be unexpectedly slow on stores with many metaobject types"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:12.974Z"},"url":"https://mcp.waymark.network/r/82b6f2be-6e81-410f-8e8e-529547df1958"}