Tools

Catalog reads

Seventeen read tools that cover the rest of the catalog: the connected stores, every browsable entity type with the interface's full filter vocabulary, grouped variant search, the global quick search, relationships (attachments, entity media, metaobject-entry references), Shopify-computed collection membership, the definition and field-information layer, and reference resolution. All require pim:read.

list_stores_v1

list_stores_v1pim:read

List the account's connected Shopify stores: id (the channel_id every other tool takes), name and merchant display name, shop domain, the source language and the published locales (translation targets are the published locales minus the primary one), plus the account capabilities that gate some entity types (online_store_content: blogs, articles, pages; discounts: the Discounts tools). Read this first to address stores by id.

No arguments.

list_entities_v1

list_entities_v1pim:read

List items of one type (products, collections, variants, blogs, articles, pages) as lean browse rows with the full browse filter vocabulary: search, sort, store presence (store_ids/store_mode), pending-publish and publish-failed flags, a parent (a product's variants, a blog's articles), structured filter conditions, and optional per-store field values (field_keys + field_channel_ids). Use list_masters_v1 for full-detail rows or the other entity types.

ArgumentTypeDescription
typestring, one of Product, Collection, Variant, Page, Blog, Article, requiredWhich kind of item to list. Blog, Article, and Page need the account's online-store content capability (see list_stores_v1).
channel_idstringEnrich rows for a single store (per-store sort, SKU, thumbnails). Use store_ids/store_mode to filter by store presence.
exclude_default_variantsbooleanExclude auto default variants from the list.
field_channel_idsarray of stringThe stores whose field values to return (needed for store_fields).
field_keysarray of stringExtra per-store field values to return per row (mf:… or custom:… keys only, at most 20).
filterobjectStructured filter. A condition the server cannot apply (unknown operator, blank value on a value-taking operator, a store-scoped condition without a store) is SKIPPED rather than rejected, so verify the population before trusting a count.
orderstring, one of asc, descSort direction.
pageinteger1-based page number.
page_sizeintegerRows per page (clamped to the server max).
parent_master_idstringRestrict to children of this parent item (a product's variants, a blog's articles).
pending_publishbooleanOnly items with unpublished changes.
publish_failedbooleanOnly items whose last publish failed on some store.
searchstringFree-text search.
sortstringSort field key.
sort_sourcestring, one of master, projection, master_column, projection_column, default_variantWhich side the sort key lives on: "master", "projection" (needs channel_id), "master_column" (created_at/updated_at), or "projection_column" (last_publish_at).
sort_typestring, one of string, number, dateHow sort values compare.
store_idsarray of stringRestrict by store presence to these store ids (see store_mode).
store_modestring, one of any, all, only, noneHow store_ids applies: "any" (on at least one, default), "all" (on every listed store), "only" (on exactly those), "none" (on none of them).

list_variant_groups_v1

list_variant_groups_v1pim:read

Search variants with the browse filter vocabulary and get the matches grouped under their parent product, paginated over the matched products. Each group carries the product row and only the variants that matched.

ArgumentTypeDescription
channel_idstringEnrich rows for a single store (per-store sort, SKU, thumbnails). Use store_ids/store_mode to filter by store presence.
exclude_default_variantsbooleanExclude auto default variants from the list.
field_channel_idsarray of stringThe stores whose field values to return (needed for store_fields).
field_keysarray of stringExtra per-store field values to return per row (mf:… or custom:… keys only, at most 20).
filterobjectStructured filter. A condition the server cannot apply (unknown operator, blank value on a value-taking operator, a store-scoped condition without a store) is SKIPPED rather than rejected, so verify the population before trusting a count.
orderstring, one of asc, descSort direction.
pageinteger1-based page number.
page_sizeintegerRows per page (clamped to the server max).
pending_publishbooleanOnly items with unpublished changes.
publish_failedbooleanOnly items whose last publish failed on some store.
searchstringFree-text search.
sortstringSort field key.
sort_sourcestring, one of master, projection, master_column, projection_column, default_variantWhich side the sort key lives on: "master", "projection" (needs channel_id), "master_column" (created_at/updated_at), or "projection_column" (last_publish_at).
sort_typestring, one of string, number, dateHow sort values compare.
store_idsarray of stringRestrict by store presence to these store ids (see store_mode).
store_modestring, one of any, all, only, noneHow store_ids applies: "any" (on at least one, default), "all" (on every listed store), "only" (on exactly those), "none" (on none of them).

search_catalog_v1

search_catalog_v1pim:read

Search the whole catalog at once — products, variants, collections, files, content, markets, catalogs, metaobject entries and definitions — and get the top matches grouped per type (at most 5 per group, with the group's matched count). Each item matches on its OWN fields: a SKU hit surfaces the variant, not its product. Queries under 2 characters return no groups.

ArgumentTypeDescription
querystring, requiredFree-text query (at least 2 characters).
list_projection_links_v1pim:read

List the authored relationship links between per-store versions: media attachments (entity → file), catalog → market attachments, and catalog → product memberships. Filter by the source and/or target per-store version id. Each link carries its position and whether Shopify has confirmed it yet (pending_publish). Collection membership is never a link — read it with read_collection_membership_v1.

ArgumentTypeDescription
source_projection_idstringThe per-store version the links start from (a product, variant, collection, article, or catalog version).
target_projection_idstringThe per-store version the links point at (a file, market, or product version).

list_entity_media_v1

list_entity_media_v1pim:read

List the media attached to one per-store version of a product, variant, collection, or article, in gallery order: each attachment's link id and position, the file's identity and facts (filename, type, dimensions, readiness), its per-store alt text and Shopify media id, a preview URL, and whether the attachment is still awaiting publish.

ArgumentTypeDescription
projection_idstring, requiredThe per-store version id of the entity (not the file).

list_metaobject_entry_references_v1

list_metaobject_entry_references_v1pim:read

List the entities whose metafields reference one metaobject entry, per store: the referencing entity, its type and parent, the field key that holds the reference, and its title. Capped at 200 rows per store (truncated_channel_ids names the stores that hit the cap).

ArgumentTypeDescription
entry_idstring, requiredThe metaobject entry's id.

read_collection_membership_v1

read_collection_membership_v1pim:read

Read Shopify-computed collection membership on one store, in either direction: the products a collection holds (direction products_of_collection) or the collections holding a product (collections_of_product). Pass master_id for one entity with the full member list, or master_ids (at most 20) for a bounded batch that names each entity's leading members and totals. Membership is computed by Shopify from the collection's sources — it is never stored here — so a cold read reaches Shopify live; a hand-picked membership still awaiting publish is reported with pending_publish.

ArgumentTypeDescription
channel_idstring, requiredThe store id.
directionstring, one of products_of_collection, collections_of_product, requiredWhich side to read.
master_idstringOne collection id (products_of_collection) or one product id (collections_of_product): the full member list.
master_idsarray of stringUp to 20 ids for a batched read that names each entity's leading members and counts.
  • Extended timeout. 120 s per call — the operation runs server-side orchestration or a live Shopify read.
  • Live Shopify read. Slower than PIM reads and can fail when Shopify is unavailable.

get_metafield_definition_v1

get_metafield_definition_v1pim:read

Get one metafield definition in full: identity (namespace.key, owner type), type and validations, category constraints, capability options, origin (custom or Shopify standard template), per-store presence, and per-store capability eligibility (read live from Shopify, so slower than the list).

ArgumentTypeDescription
idstring, requiredThe item id (must belong to the token's account; cross-account ids return not found).
  • Live Shopify read. Slower than PIM reads and can fail when Shopify is unavailable.

get_metaobject_definition_v1

get_metaobject_definition_v1pim:read

Get one metaobject definition in full: type key, name, its field definitions (key, name, type, required, validations), per-store presence, entry count, capability flags (publishable, translatable, renderable, online store), any structure conflict between stores, and same-type duplicates.

ArgumentTypeDescription
idstring, requiredThe item id (must belong to the token's account; cross-account ids return not found).

list_custom_field_definitions_v1

list_custom_field_definitions_v1pim:read

List the account's own custom fields — PIM-only fields that never publish to Shopify — with their slug, the entity kind they apply to, type, options, formula, and optional metafield target. Values live on per-store versions under the key custom:<slug> and are written with update_projection_attributes_v1 or bulk_patch_v1. Pass id to read exactly one definition.

ArgumentTypeDescription
applies_tostring, one of Product, Variant, Collection, Media, Blog, ArticleNarrow to definitions of one entity kind.
idstringRead one definition by id instead of listing.

list_product_category_metafields_v1

list_product_category_metafields_v1pim:read

For one store and one Shopify taxonomy category, list the metafield definitions already enabled for that category on the store and Shopify's standard templates that could still be enabled. Paged with limit/cursor; when Shopify cannot be reached the enabled list still answers with available_error set.

ArgumentTypeDescription
category_idstring, requiredThe taxonomy category (a raw id or a gid://shopify/TaxonomyCategory/… GID).
channel_idstring, requiredThe store id.
cursorstringThe next_cursor of a previous page.
limitintegerTemplates per page (1–50).
  • Live Shopify read. Slower than PIM reads and can fail when Shopify is unavailable.

read_taxonomy_v1

read_taxonomy_v1pim:read

Read the Shopify product taxonomy: pass category_id to get a category's attributes with their selectable values (for metafield values and collection conditions), or value_gids (1–100 gid://shopify/TaxonomyValue/… ids) to resolve value names. A shared public vocabulary, cached server-side; an unreachable Shopify answers degraded rather than failing.

ArgumentTypeDescription
category_idstringA taxonomy category id or GID: answers its attributes and values.
value_gidsarray of stringTaxonomy value GIDs to name (1–100).
  • Live Shopify read. Slower than PIM reads and can fail when Shopify is unavailable.

get_field_suggestions_v1

get_field_suggestions_v1pim:read

Get the values already in use for autocomplete-style fields, keyed by field: for products the vendors and tags in use, for files the tags. Reuse these before inventing new spellings.

ArgumentTypeDescription
typestring, one of Product, Media, requiredWhich entity kind's vocabulary to read.

list_theme_templates_v1

list_theme_templates_v1pim:read

List the theme template suffixes one store's live theme offers for a resource kind (product, collection, page, blog, article) — the values a Template Suffix field may take; the empty suffix is the theme's default template. Reaches Shopify live.

ArgumentTypeDescription
channel_idstring, requiredThe store id.
resourcestring, one of product, collection, page, blog, article, requiredWhich resource kind's templates to list.
  • Live Shopify read. Slower than PIM reads and can fail when Shopify is unavailable.

resolve_references_v1

resolve_references_v1pim:read

Resolve stored reference values (metafield reference GIDs on one store, or PIM item ids from custom-field references) into the entities they name — name, type, thumbnail, and the identity behind each value. With target_channel_ids, instead translate the source store's GIDs into each target store's own GIDs for the same entities, so a reference can be copied to another store: a store absent from a value's map cannot reference it there. At most 200 values per call; a value that names nothing is simply omitted.

ArgumentTypeDescription
channel_idstringThe store the gids belong to (required whenever gids is given).
gidsarray of stringStore-local Shopify GIDs to resolve.
master_idsarray of stringPIM item ids to resolve (store-independent; lookup mode only).
target_channel_idsarray of stringTranslate the gids into these stores' own GIDs instead of describing the entities.

search_references_v1

search_references_v1pim:read

Search one store for entities a reference field can point at (products, variants, collections, files, metaobject entries) and get picker rows: the store-local GID the field stores, name, thumbnail, PIM identity, and the kind's detail facts (a product's status/vendor/type and leading SKUs, a collection's member count or automated flag, a file's kind). raw_count above the returned count means matches exist that are not published on this store. At most 50 rows.

ArgumentTypeDescription
channel_idstring, requiredThe store whose GIDs the field stores.
typestring, one of Product, Variant, Collection, Media, MetaobjectEntry, requiredWhich entity kind to search.
page_sizeintegerRows to return (at most 50).
parent_master_idstringFor metaobject entries: the definition to search under.
reference_channel_idsarray of stringAlso return each row's GID on these stores (for an edit that writes to several stores).
searchstringFree-text search.