roasOS
API referenceProducts

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.

POST
/v1/products

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
AuthorizationBearer <token>

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"  }}