Get a product
Fetch one published product by public id or by a SKU you have registered for it.
Publishable key (browser-safe), sent as Authorization: Bearer pk_…. This is the lower API-key tier and is sufficient for browser-safe routes that require the pk tier. Requests using a publishable key are additionally validated against the key's domain allowlist via the Origin header. Used for upload, areas, renders, polling, catalog reads, and history (history additionally requires a visitor token).
In: header
Path Parameters
Either a prod_… public id or a SKU you have registered for the product on your instance — one path serves both.
Disambiguation is by reserved prefix, not by trial: a value starting with any reserved prefix is only ever read as a public id, so a malformed one (wrong suffix length or a character outside base62) returns the uniform 404 rather than falling back to SKU matching. This also means a SKU can never be registered under a reserved prefix.
SKU matching is case-insensitive and ignores surrounding whitespace; ELITE-ROLLER-01, elite-roller-01 and Elite-Roller-01 all resolve to the same registration, which is stored exactly as it was entered.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/products/prod_3xK9aQ0ZbW7mNc2LpRvT"{ "id": "prod_3xK9aQ0ZbW7mNc2LpRvT", "name": "Elite Roller Blind", "description": "string", "image": { "url": "https://api.viewa.com/api/media/file/roller-charcoal-512.jpg", "alt": "Charcoal roller blind" }, "restrictions": { "width": { "min": 300, "max": 3000 }, "height": { "min": 300, "max": 2700 }, "sceneOnly": true }, "categories": [ { "slug": "roller-blinds", "name": "Roller Blinds" } ], "stylesLabel": null, "styles": [ { "styleKey": "s-wave", "label": "S-wave", "image": { "url": "https://api.viewa.com/api/media/file/roller-charcoal-512.jpg", "alt": "Charcoal roller blind" } } ], "styleOptions": [ { "name": "Fabric Direction", "type": "rollDirection", "values": [ { "value": "standard", "label": "Standard roll", "image": { "url": "https://api.viewa.com/api/media/file/roller-charcoal-512.jpg", "alt": "Charcoal roller blind" } } ], "allowedValues": [ "standard", "reverse" ] } ], "materialOptions": [ { "optionId": "slot_66c1f2a9e4b1c2d3f4a5b6c7", "displayName": "Fabric", "visibility": "visible" } ]}