Skip to main content
GET
Get a product by ID
Returns a single product or service by its ID.
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.

Path 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.

404 Not Found

Product does not exist or does not belong to the organization.

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).

Path Parameters

productId
string
required

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"