GET https://api.iconscout.com/v3/ai/tasks/{task}
Returns the task status and, once complete, the URLs of the generated output. Every operation returns the same task shape, whether it generated an image, an SVG, a 3D mesh or a processed upload. Poll until status is COMPLETED or FAILED.
One exception to stopping there: an icon or illustration generated by a raster model gets its traced SVG shortly *after* COMPLETED (see AiTask.generated). Vector models (recraft-vector, recraft-vector-pro) return their SVG at completion.
Tasks are scoped to the client that created them.
| Name | In | Type | Notes |
|---|---|---|---|
task | path | string | required A task_id from the 202 that created it. |
| Status | Meaning |
|---|---|
200 | Task status; status is one of CREATED, IN_PROGRESS, COMPLETED, FAILED |
401 | Missing or invalid client credentials. data.reason is invalid_credentials. |
404 | No such task for this client. Tasks are scoped to the client that created them, and an unknown id is deliberately indistinguishable from another client's. data.reason is task_not_found. |
429 | Read rate limit exceeded for this client. data.reason is rate_limit_exceeded; back off on Retry-After. Polling every task every second across a large batch is the usual way to reach this — honour the Retry-After from the 202 instead, and read X-RateLimit-Remaining to see how much of the window is left. |