REST API
Read and update products, attributes and segments from any tool or AI agent.
The PIM REST API lets your own systems, scripts and AI tools work with your catalog. The full reference is available at api.pim.is/api/v1/docs.
Base URL and authentication
- Base URL:
https://api.pim.is/api/v1 - Authentication: OAuth 2.0 client credentials. Create an OAuth client under Integrations → API Access, then exchange its ID and secret for an access token at
POST /oauth/tokenwithgrant_typeset toclient_credentials. Tokens are valid for one hour.
Send the token on every request as Authorization: Bearer <token>.
Scopes
Each OAuth client gets only the scopes you choose:
| Scope | Allows |
|---|---|
products:read / products:write | Reading and changing products |
attributes:read / attributes:write | Reading and changing attributes and families |
segments:read / segments:write | Reading and changing segments and their rules |
Products
GET /products: list products (25 at a time by default, up to 100), with cursor pagination (after)POST /products/search: filter by attribute valuesGET /products/{id},PATCH /products/{id},DELETE /products/{id}POST /products: create a productPOST /products/bulk/upsert: create or update many products, matched by SKU
Product attributes are keyed by each attribute's internal name. When you write a product, its attributes object is replaced as a whole, so read the product first, change the values you need, and send the complete object back.
Product feeds
For read-only exports, GET /products/feed.json and GET /products/feed.odata (OData v4) return your catalog using an API key, which you also create under Integrations → API Access. Feeds are a simple way to connect spreadsheets, BI tools or other systems that only need to read.
Good practice
- Create separate credentials for each tool, so you can revoke one without affecting the others.
- Grant only the scopes a tool needs.
- Use internal attribute names, not display names. Display names can change; internal names stay stable.