Create an upload
Direct mode returns a one-use write target: POST the exact bytes to put_url with put_headers, then poll GET /v1/uploads/{id} until status is ready. Import mode gives a public https source_url instead; the worker fetches, checks, and stores the object and returns it ready.
Direct mode returns a one-use write target: POST the exact bytes to put_url with put_headers, then poll GET /v1/uploads/{id} until status is ready. Import mode gives a public https source_url instead; the worker fetches, checks, and stores the object and returns it ready.
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
application/json
curl -X POST "https://example.com/v1/uploads" \ -H "Content-Type: application/json" \ -d '{ "kind": "image" }'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "image", "status": "pending", "content_type": "string", "byte_length": 0, "url": "http://example.com", "put_url": "http://example.com", "put_headers": { "property1": "string", "property2": "string" }, "expires_at": "2019-08-24T14:15:22Z", "limits": { "max_bytes": 1, "allowed_content_types": [ "string" ] } }}Build or rebuild the product kit
Builds or rebuilds the product kit: cutouts from the raw photos, the generated angle set (`full: true` = 8, or an explicit `angles` list), the fidelity check and the structured facts. Asynchronous — returns a queued job whose result publishes onto the product. Requires an Idempotency-Key. The first 5 kits per workspace are included; the reservation is still made and refunded on settlement. An empty body asks for the free reference sheet and answers 202 `{ status: queued, kind: reference_sheet }`. Quote first: send `quote_only: true` to get a `quote_id` and the credits (200, no charge, valid for 10 minutes), then send the same body with that `quote_id` and the same Idempotency-Key. The confirm charges exactly the quoted credits. A confirm whose input, price or kit version differs from the quote is refused, and a retried confirm returns the first answer and is never charged twice. With `quote_only` or `quote_id` and neither `full` nor `angles`, the call builds the 4 core angles. A body with no quote field still builds in one step.
Get upload status
Next Page