Authentication

Every request to the Public API carries an API key as a bearer token. Keys are created by a signed-in store user, belong to exactly one account, are scoped, and are revocable at any time.

Create an API key

  1. Sign in to Peak PIM.
  2. Open Settings → API.
  3. Choose the key's access level (the scopes it carries) and create it.
  4. Copy the key — it starts with pk_live_ and is shown once. Keys are stored hashed, so it cannot be displayed again later.

Use it

Send the key in the Authorization header of every request:

curl https://app.peak-pim.com/api/v1/ping \
  -H "Authorization: Bearer pk_live_..."

A 200 from /api/v1/ping proves the key end to end: it passed authentication, the route allowlist, its scope check, and the rate limiter.

Scopes

A key carries a fixed set of scopes chosen at creation. A request to a route the key's scopes don't cover fails with 403 forbidden_scope.

ScopeGrantsUsed by
pim:readRead the catalogEvery v1 endpoint published today
pim:writeEdit draft valuesFuture v1 write endpoints (additive)
pim:publishPublish to ShopifyFuture v1 publish endpoints (additive)
pim:webhooksManage webhooksFuture v1 webhook endpoints (additive)
Principle of least privilege.

Since every published endpoint is a read, a pim:read-only key is all any integration needs today. Mint wider keys only when the endpoints that use them ship.

Security model

Rotation and revocation

Next steps