Migrating from V1
V3 replaces the V1 API entirely. This page maps every V1 concept and endpoint to its V3 equivalent so you can migrate without guessing.
Concept Mapping
service_name (e.g. service-ai-virtual-staging)
tool slug (e.g. tool-virtual-staging)
Same idea, new naming scheme
space_name (e.g. space-bedroom)
Widget item slug (e.g. item-bedroom-widget-space-tool-virtual-staging)
Now part of the widgets array
Widget IDs (numeric)
Widget & item slugs (string)
Slugs are human-readable and self-describing
No project concept
POST /v3/project
Orders must now belong to a project
Endpoint Mapping
POST /v1/order/image
POST /v3/order
Upload + order creation are now one call; returns order_id and assets[].id
POST /v1/order
POST /v3/process
The "submit order" step is now called "create process"
GET /v1/order/:id
GET /v3/order/:id
Response includes full processes array with results
Migration Steps
Create a project for each property you work with (
POST /v3/project) — there is no V1 equivalent.Replace your image upload call — instead of
POST /v1/order/image, usePOST /v3/order(multipart). It returns bothorder_idand asset IDs in one response.Replace your order submission call — instead of
POST /v1/orderwithservice_nameandspace_name, usePOST /v3/processwith:tool(slug)asset_map(maps input slot slug → asset ID)widgets(array of{ slug, item_slugs })
Update your webhook handler — the V3 payload shape is richer; check Webhook Reference for the exact fields.
Example: V1 vs V3 Side by Side
V1 — upload image:
V3 — create order:
V1 — submit order:
V3 — create process:
Last updated