Tools

Get tool execution info

Retrieve the current status and result of a tool execution. Poll this endpoint until status is succeeded, failed, or cancelled. Each succeeded result carries signed downloadUrl/thumbnailUrl (with matching *ExpiresAt timestamps) alongside the full hydrated file. The signed URLs are private and valid for 7 days; this single-execution endpoint automatically re-signs them when they are within an hour of expiring, so a caller always receives a URL valid long enough to use. Results remain retrievable indefinitely, including executions older than 7 days. Note that list endpoints (e.g. GET /v1/tools/executions) do not re-sign URLs: they return the last-signed URL, which may already be expired (check downloadUrlExpiresAt). To refresh a URL, GET the individual execution here, or hydrate the file directly via GET /v1/files/{fileId} / POST /v1/files/{fileId}/hydrate.

get/v1/tools/executions/{toolExecutionId}

Path parameters

toolExecutionIdstring required

The tool execution id returned when the tool was started.

Response

Current execution state

toolExecutionIdstring required

Execution id matching the original request.

status'pending' | 'running' | 'succeeded' | 'failed' | 'cancelled' required

Lifecycle status shared by every asynchronous job (tool executions, workflow runs, remix actions, project exports, and timeline interchange jobs). pending and running are in-progress; succeeded, failed, and cancelled are terminal.

toolTypestring required

Tool name (e.g. GENERATE_IMAGE, TEXT_TO_SPEECH).

progressPercentagenumber required

Completion progress for the current attempt (0-100). Always 100 when status is succeeded.

attemptIndexinteger required

Zero-based index of the current or most recent execution attempt.

Changes