Catalogue
Get a product
GET
tenantKeyheader
X-Tenant-Key<token>The public store key (pk_live_…). Required on every call.
slug*stringX-Client-IP?stringOptional. IP address of the shopper (one IPv4/IPv6, no port, no list). Honoured only together with a valid X-Tenant-Secret; ignored otherwise. Used for rate limits and recorded with form submissions.
X-Tenant-Secret?stringOptional here. Server secret of the store: server-to-server only, never from a browser. Enables X-Client-IP.
Success.
application/json- response
data*curl -X GET 'https://api.elaraone.app/api/v1/products/string' \ -H 'X-Tenant-Key: pk_live_…' \ -H 'X-Tenant-Secret: your-server-secret'Example Response
{ "data": { "id": 0, "status": "string", "name": null, "description": null, "slug": "string", "options": [ { "id": 0, "handle": "string", "name": "string", "label": "string", "values": [ { "id": 0, "name": "string" } ] } ], "variants": [ { "id": 0, "sku": "string", "stock": 0, "shippable": true, "price": { "amount": 0, "currency": "string", "formatted": "string" }, "pricing": { "price": { "amount": 0, "currency": "string", "formatted": "string" }, "sale_price": { "amount": 0, "currency": "string", "formatted": "string" }, "compare_price": { "amount": 0, "currency": "string", "formatted": "string" }, "on_sale": true, "saving": { "amount": { "amount": 0, "currency": "string", "formatted": "string" }, "percent_bp": 0 }, "badges": [ { "label": "string", "kind": "string" } ] }, "options": [ { "option_id": 0, "option": "string", "value_id": 0, "value": "string" } ] } ], "images": [ { "id": 0, "name": "string", "url": "string", "thumbnail_url": "string" } ], "collections": [ { "id": 0, "parent_id": 0, "name": null, "slug": "string", "children": [ {} ] } ], "offers": [ { "id": 0, "kind": "string", "label": "string", "badge": "string", "banner": { "title": "string", "body": "string" }, "bulk_table": [ { "min_qty": 0, "max_qty": 0, "unit_price": { "amount": 0, "currency": "string", "formatted": "string" }, "percent_bp": 0 } ], "bulk_table_variant_id": 0, "ends_at": "string", "scope": "all" } ] }}