Skip to main content
GET
List products for an organization
Returns all products and services in the organization’s catalog. Supports optional filtering by description, SKU, or product key.
This endpoint takes no organizationId in the URL. Authenticate with either a Supabase Bearer session (send the X-Organization-Id: <org-id> header — the user must be a member of that organization) or an API key (the organization resolves automatically from the key; any X-Organization-Id header sent alongside an API key is ignored).

Authentication

Accepts either:
  • A Supabase Bearer session (Authorization: Bearer <token>) with the X-Organization-Id: <org-id> header — the authenticated user must be a member of that organization.
  • An API key (X-API-Key: sk_...) with the read:products scope — the organization is resolved from the key itself.

Query Parameters

Example Request

Example Response

Common Errors

400 Bad Request

Missing X-Organization-Id header on a session-authenticated request.

401 Unauthorized

Missing or invalid Bearer token / API key.

403 Forbidden

The authenticated user is not a member of the organization sent in X-Organization-Id, or the API key does not have the read:products scope.

Authorizations

X-API-Key
string
header
required

API Key for authentication (format: sk_...)

Headers

X-Organization-Id
string

Required for Supabase session auth. Ignored when authenticating with an API key (the organization resolves from the key).

Query Parameters

description
string

Filter by description (partial match)

Example:

"Ukelele"

sku
string

Filter by SKU (partial match)

Example:

"UKL"

productKey
number

Filter by SAT product key (exact match)

Example:

60131324

Response

id
string
required
Example:

"590ce6c56d04f840aa8438af"

organizationId
string
required
Example:

"org-uuid"

livemode
boolean
required
Example:

false

description
string
required
Example:

"Ukelele"

productKey
number
required
Example:

60131324

price
number
required
Example:

345.6

taxIncluded
boolean
required
Example:

true

taxability
string
required
Example:

"01"

taxes
object[]
required
localTaxes
object[]
required
unitKey
string
required
Example:

"H87"

unitName
string
required
Example:

"Elemento"

createdAt
string<date-time>
required
updatedAt
string<date-time>
required
sku
object
Example:

"UKL-001"