Runs
List runs
The key's account's runs, newest first.
Create a run
Starts generating `creativesPerProduct` creatives for each product. Answers 202 at once; poll `GET /runs/{runId}` and collect results from `GET /runs/{runId}/items`. Credits are held per item as it starts and charged only for creatives that are produced.
Price a run without creating it
Validates the same body as `POST /runs` and returns the quote. Writes nothing and charges nothing; needs only `runs:read`. When the account has a daily API credit budget, `budget` reports it — even when it is already too small for this run, so the price can be checked before anyone agrees to it.
Get a run
Status and counts. Poll this until `finalizedAt` is set.
List a run's items
One row per planned creative, in request order, with its outcome and — once produced — its asset.
Stop a run
No new items start. Items already in progress finish, and are charged only if they produce a creative. Answers 202 with the run, which reads `STOPPING` until it settles.
A run reached a terminal status.
Fires once, when a run reaches SUCCEEDED, PARTIAL, FAILED, REFUSED, STOPPED or EXPIRED. `data` is the same `Run` object `GET /runs/{runId}` returns. Delivery is at-least-once; de-duplicate on the `webhook-id` header. Polling `GET /runs/{runId}` stays fully supported.