Delete products
/v1/productsDeletes up to 100 products by ids. Answers 200 with each id's outcome: affected, not_found, or forbidden.
Query Parameters
The products to delete, 1 to 100. Repeat the parameter or separate the ids with commas.
1 <= items <= 100Response Body
application/json
application/json
curl -X DELETE "https://example.com/v1/products?ids=497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "affected": [ "4fa450be-f7f9-4947-9cd8-45f559412bd8" ], "not_found": [ "42d097e8-23d9-4b4b-9d40-4c593308d98f" ], "forbidden": [ "f09f22a4-960f-4de7-bfb1-fbb0befa8bdd" ]}{ "error": { "code": "string", "message": "string", "details": null }}Create a product POST
Creates a product in two calls. 1. Send exactly one source - `image_urls`, `image_paths`, `video_url` or `source_url` - with the `draft`, `order` and `overrides`. The source is analyzed and the answer is `200` with a quote: the image plan, whether a 3D model can be built, the price in credits, and a `resume_token`. Nothing is created or charged. 2. Send the `resume_token` back (it is valid for 7 days and works once). The answer is `202` with the product, and generation starts. You may change the `draft` on this call; a different `order` or any `overrides` is a `400` - request a new quote instead. A `model_url` (a finished GLB) skips the quote and answers `202` at once. `402` when the organization's plan does not allow it; `429` when it has too few credits (`details.shortfall_credits`); `409` for a token already used or a `custom_id` already taken.
Publish or unpublish products POST
Publishes or unpublishes up to 100 products at once; a single product can also be toggled with `PATCH /v1/products/{id}`. Answers each id's outcome. `402` when the plan does not allow publishing, or publishing them would pass the plan's active-product limit.