Get a product by ID
Retrieve a product by its ID. `include=prices` expands `prices` from id-only to full price rows.
Authorization
apiKey Merchant API key. Publishable keys (pk_test_* / pk_live_) are safe for browser/frontend use and carry a limited scope set (sessions, payment_instruments, customers, orders writes; products, product_prices, payment_links reads). Secret keys (sk_test_ / sk_live_*) grant full admin access and must only be used server-side.
In: header
Path Parameters
1 <= lengthQuery Parameters
"prices"Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://loading/v1/api/products/string"{
"success": true,
"timestamp": "2026-02-06T12:00:00.000Z",
"data": {
"id": "prod_abc123",
"name": "Premium Widget",
"description": "A high-quality widget",
"active": true,
"metadata": {},
"image_url": "https://example.com/widget.png",
"default_price_id": "price_abc123",
"created_at": "2026-01-01T00:00:00.000Z"
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}Get all product prices
Retrieve a list of all product prices. Each row embeds the parent product's `default_price_id` (under `products`) and a precomputed `is_default` boolean.
Get all products
Retrieve a list of products. `status` filters: `active` (active=true, deleted_at IS NULL), `archived` (deleted_at IS NOT NULL — products soft-archived via PATCH /:id/archive), `inactive` (active=false, deleted_at IS NULL — manual deactivation without archiving). `include=prices` expands `prices` from id-only to full price rows.