Skip to main content

Authentication

Production Partner API access uses the marketplace sign-in session. Your integration exchanges that session for a short-lived seller-scoped Partner API token.

API access is arranged through seller onboarding. Do not build a production integration against development-only password-token endpoints.

Not offered yet as self-service: long-lived machine API keys managed only in Account (for unattended ERP jobs without a seller browser session). Until that product ships, automated clients should use the exchange flow with a seller session, and day-to-day bulk catalogue work should use Partner Portal spreadsheet import under Inventory.

Before you start

You need:

  • a verified Partner Portal seller account
  • multi-factor authentication enabled
  • API access enabled or arranged for your account
  • a current marketplace access token for the signed-in seller

Exchange a marketplace token

POST /api/v1/auth/exchange

Send the current marketplace access token to obtain a Partner API token.

POST /api/v1/auth/exchange
Content-Type: application/json

{
"supabase_token": "<marketplace-access-token>"
}

The exchange verifies the marketplace session, requires Authenticator Assurance Level aal2, resolves the seller account, and issues a seller-scoped token.

Success response:

{
"access_token": "<partner-api-token>",
"token_type": "bearer",
"seller_id": "slr_01HY5X3K7QNXV8BDEF3G4H5J6M"
}
StatusMeaning
401Marketplace token is invalid, expired, or missing required identity claims
403MFA assurance is below aal2
404No seller account matches the marketplace identity
503Marketplace authentication is temporarily unavailable

Create or bind the seller profile

POST /api/v1/auth/register

Use this only after authenticating with the marketplace service. It creates or binds the seller profile; it does not issue the Partner API token. Call /api/v1/auth/exchange afterwards.

POST /api/v1/auth/register
Authorization: Bearer <marketplace-access-token>
Content-Type: application/json

{
"business_name": "Example Seller",
"tax_id": "12345678901"
}

Use the Partner API token

Send the exchanged token on every authenticated Partner API request:

Authorization: Bearer <partner-api-token>

The token identifies the seller and carries the roles and permissions used by the API. Treat it as a short-lived credential: keep it out of logs, browser URLs, source control, and support screenshots.

MFA requirement

Production token exchange requires aal2. If exchange returns 403, complete MFA in the marketplace account and retry with the refreshed marketplace session.

Seller data isolation

Partner API responses are scoped to the seller identified by the exchanged token. Do not send a seller identifier from user input to try to switch account context; sign in as the intended seller and exchange that seller’s marketplace session.

Common issues

SymptomAction
401 invalid or expired tokenRefresh the marketplace session, then exchange again
403 MFA requiredComplete MFA and retry exchange
404 seller account not foundFinish seller registration or contact onboarding support
503 authentication unavailableRetry with backoff; check the public status page if the problem continues

Next: Integration Guide · Error Reference