Supplier image API

API for syncing product images between the PIM and desktop tools or DAM workflows. It does not replace the customer catalog API — it is for supplier staff managing media.

Base URL: /api/supplier/v1

OpenAPI spec: /api/supplier/openapi.yaml

Interactive API reference

Browse the full endpoint reference (parameters, schemas, and response examples) in the interactive API reference.

Authentication

You can obtain a Bearer token in either of these ways:

  1. Company settings → API tokens in the supplier workspace (/app) — create a named token and copy it once from the modal (recommended for integrations).
  2. POST /api/supplier/v1/auth/login with your supplier staff email and password (same credentials as /app/login).

Store the token and send it on all subsequent requests:

Authorization: Bearer {token}

Staff must have accepted their invitation before login succeeds. Use GET /api/supplier/v1/auth/me to verify the session and POST /api/supplier/v1/auth/logout to revoke the token.

Sync workflow

  1. Initial syncGET /api/supplier/v1/images without updated_since for the full image index and empty product folders.
  2. Incremental syncGET /api/supplier/v1/images?updated_since={iso8601} for created, updated, and deleted records.
  3. Download — for active records (deleted_at is null and is_folder is false), download from the url field. Compare content_hash to skip unchanged files.
  4. Empty folders — records with is_folder: true are products without images yet. Create the local directory at folder_path (for example suppliers/{id}/products/{sku}/) so users know where to drop files.
  5. Tombstones — records with deleted_at set mean remove the matching local file.
  6. Push changes:
    • New file → POST /api/supplier/v1/products/{sku}/images
    • Replace → PUT /api/supplier/v1/products/{sku}/images/{filename}
    • Delete → DELETE /api/supplier/v1/images/{id}

Images are stored at suppliers/{supplier_id}/products/{sku}/{filename}. Thumbnails under thumbs/ are generated server-side.

Endpoints summary

Endpoint Description
POST /auth/login Obtain Bearer token
GET /auth/me Current user and supplier
POST /auth/logout Revoke token
GET /images Image index (paginated, optional updated_since)
POST /products/{sku}/images Upload image
PUT /products/{sku}/images/{filename} Replace image
DELETE /images/{id} Delete image