Authentication

All requests to the Pixee PIM API must be authenticated. The API supports two authentication methods: API keys (recommended for integrations) and JWT Bearer tokens (for user sessions).


API keys

API keys are long-lived credentials prefixed with pm_live_ (production) or pm_test_ (test). You can create and manage them in your account settings.

Using an API key

Pass the key as a Bearer token in the Authorization header on every request:

Authenticated request

curl https://api.pixeepim.com/api/v1/products \
  -H "Authorization: Bearer pm_live_abc123..."

API key scopes

Each key is restricted to a set of scopes:

ScopeAccess
products:readRead products and catalog data
products:writeCreate and update products
imports:readView import jobs and logs
imports:writeStart and manage imports
exports:readView export jobs
exports:writeCreate and download exports
windev:read / windev:write / windev:syncWinDev integration access

Creating an API key

  1. Log in at pixeepim.com.
  2. Navigate to Settings → API Keys.
  3. Click Create API Key, enter a descriptive name and select the required scopes.
  4. Copy the key immediately — it won't be shown again.

Rotating a key

Rotate an API key

curl -X POST https://api.pixeepim.com/api/v1/keys/{key_id}/rotate \
  -H "Authorization: Bearer pm_live_abc123..."

The old key is invalidated immediately and a new one is returned.


JWT Bearer tokens

User sessions use short-lived JWT tokens (valid for 120 minutes by default). Obtain a token via the login endpoint:

Login

curl -X POST https://api.pixeepim.com/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "••••••••"}'

Response

{
  "access_token": "eyJhbGc...",
  "token_type": "bearer"
}

Use the token in the Authorization header just like an API key:

curl https://api.pixeepim.com/api/v1/products \
  -H "Authorization: Bearer eyJhbGc..."

To refresh an expiring token:

Refresh token

curl -X POST https://api.pixeepim.com/api/v1/auth/refresh \
  -H "Authorization: Bearer eyJhbGc..."

Multi-tenant context

If your account manages multiple tenants, scope a request to a specific tenant with the X-Tenant-ID header:

Request with tenant context

curl https://api.pixeepim.com/api/v1/products \
  -H "Authorization: Bearer {api_key}" \
  -H "X-Tenant-ID: {tenant_id}"

Without this header, the request operates on your default account context.


Error responses

StatusMeaning
401 UnauthorizedMissing, invalid, or expired credential
403 ForbiddenValid credential but insufficient scope or permissions
423 LockedAccount locked after too many failed login attempts

See the Errors guide for the full error format.

Was this page helpful?