Reference
Endpoint index
Every v1 path on one page — method, required scope, and a one-line summary, with
a link to the page documenting it. The formal, machine-readable contract is the
OpenAPI 3.1 spec; base URL
https://api.peak-pim.com, bearer-key auth, JSON responses.
Service
Documented on Authentication and the Quickstart.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/ping | pim:read | Verify a key end to end |
Products
Documented on Products.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/products | pim:read | List products (cursor-paged) |
| GET | /api/v1/products/{id} | pim:read | Get a product's canonical values and relationships |
| GET | /api/v1/products/{id}/stores | pim:read | List a product's store versions |
| GET | /api/v1/products/{id}/stores/{store_id} | pim:read | Get one store's version of a product |
Variants
Documented on Variants.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/variants | pim:read | List variants (cursor-paged) |
| GET | /api/v1/variants/{id} | pim:read | Get a variant, its parent product_id, and media |
| GET | /api/v1/variants/{id}/stores | pim:read | List a variant's store versions |
| GET | /api/v1/variants/{id}/stores/{store_id} | pim:read | Get one store's version of a variant |
Collections
Documented on Collections.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/collections | pim:read | List collections (cursor-paged) |
| GET | /api/v1/collections/{id} | pim:read | Get a collection's canonical values |
| GET | /api/v1/collections/{id}/stores | pim:read | List a collection's store versions |
| GET | /api/v1/collections/{id}/stores/{store_id} | pim:read | Get one store's version of a collection |
Media
Documented on Media.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/media | pim:read | List media files (cursor-paged; title carries the filename) |
| GET | /api/v1/media/{id} | pim:read | Get a media file |
| GET | /api/v1/media/{id}/stores | pim:read | List a media file's store versions |
| GET | /api/v1/media/{id}/stores/{store_id} | pim:read | Get one store's version of a media file |
Stores
Documented on Stores.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/stores | pim:read | List the account's linked Shopify stores (bounded) |
Markets
Documented on Markets.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/markets | pim:read | List markets with per-store records and catalogs |
| GET | /api/v1/markets/{id} | pim:read | Get one market |
Metafield definitions
Documented on Metafield definitions.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/metafield-definitions | pim:read | List metafield definitions (filterable by owner_type) |
| GET | /api/v1/metafield-definitions/{id} | pim:read | Get one metafield definition |
Metaobject definitions
Documented on Metaobject definitions.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/metaobject-definitions | pim:read | List metaobject definitions with field structure and entry counts |
| GET | /api/v1/metaobject-definitions/{id} | pim:read | Get one metaobject definition |
| GET | /api/v1/metaobject-definitions/{id}/entries | pim:read | List a definition's entries with values and publish state |
Translations
Documented on Translations.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/products/{id}/translations | pim:read | List a product's translations by locale and store |
| GET | /api/v1/collections/{id}/translations | pim:read | List a collection's translations by locale and store |
Sales channels
Documented on Sales channels. These reads reach Shopify live and can answer 502.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/products/{id}/sales-channels | pim:read | List a product's sales channels on one store (store_id required) |
| GET | /api/v1/variants/{id}/sales-channels | pim:read | List a variant's sales channels on one store |
| GET | /api/v1/collections/{id}/sales-channels | pim:read | List a collection's sales channels on one store |
| GET | /api/v1/stores/{id}/sales-channels | pim:read | List every sales channel a store owns |
Drops
Documented on Drops.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/drops | pim:read | List every scheduled change window with aggregates |
| GET | /api/v1/drops/{id} | pim:read | Get one drop with every change and its apply/revert status |
| GET | /api/v1/products/{id}/drops | pim:read | List the drops that will change a product |
| GET | /api/v1/variants/{id}/drops | pim:read | List the drops that will change a variant |
| GET | /api/v1/collections/{id}/drops | pim:read | List the drops that will change a collection |
Data health
Documented on Data health — including v1's first write endpoints.
| Method | Path | Scope | Summary |
|---|---|---|---|
| GET | /api/v1/data-health | pim:read | Read the cached catalog-quality state per dimension |
| GET | /api/v1/data-health/issues | pim:read | List one section's issue rows (page-numbered) |
| POST | /api/v1/data-health/scans | pim:write | Recompute one dimension and cache the result |
| POST | /api/v1/data-health/completeness-fills | pim:write | Fill still-empty fields with authored draft values |
| POST | /api/v1/data-health/divergence-reconciles | pim:write | Harmonize a field's diverging store values (drafts only) |
| POST | /api/v1/data-health/unused-deletions | pim:delete | Delete unused entities — RESERVED, answers 403 for every key today |