Create a product
Create a product from images your workspace already owns on cdn.roasos.com, or from public https URLs that are imported through /v1/uploads first. Products are workspace resources: every member of the workspace can read, update, and delete them. `kind` is `physical` (default) or `app`. An app product's images are REAL screenshots taken on the phone, up to 8; every render shows one of them on a phone exactly as given and never redraws the screen. An app never gets a kit. `app_store_url` (app kind only) is information: roasOS reads the public listing for the seller, category, price, rating, description and icon. It never takes screenshots from the listing, because listing images are marketing slides, not the real screen.
Create a product from images your workspace already owns on cdn.roasos.com, or from public https URLs that are imported through /v1/uploads first. Products are workspace resources: every member of the workspace can read, update, and delete them.
kind is physical (default) or app. An app product's images are REAL screenshots taken on the phone, up to 8; every render shows one of them on a phone exactly as given and never redraws the screen. An app never gets a kit. app_store_url (app kind only) is information: roasOS reads the public listing for the seller, category, price, rating, description and icon. It never takes screenshots from the listing, because listing images are marketing slides, not the real screen.
Authorization
bearerAuth API key authentication. Use your API key as the bearer token: Authorization: Bearer roasos_sk_...
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/products" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "physical", "name": "string", "description": "string", "brand": "string", "category": "string", "images": [ "http://example.com" ], "icon": "http://example.com", "product_url": "http://example.com", "thumbnail": "http://example.com", "reference_sheet": "http://example.com", "facts": { "property1": null, "property2": null }, "kit": { "status": "none", "version": 0, "hero": "front", "angles": { "front": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "three_quarter": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "detail": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "in_hand": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "side_left": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "side_right": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "top": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "surface": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" }, "back": { "url": "http://example.com", "verified": true, "score": 0, "source": "generated" } }, "cutouts": [ { "raw": "http://example.com", "url": "http://example.com", "angle": "string" } ] }, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}