Skip to main content
GET
Get request status
The request’s state, result, and billing, in the same shape the submit call returned. Poll it until status is completed, failed, or cancelled; see Requests and lifecycle for the states and a polling strategy. A completed request carries the output in result. Temporary media expires 30 days after the request (result.expires_at), so download what you want to keep. A failed request carries error and reports both the gems charged and the gems refunded.

Authorizations

Authorization
string
header
required

An API key from Settings → API, sent as Authorization: Bearer mage_sk_…. Keys are for server-side code only.

Path Parameters

request_id
string<uuid>
required

The request_id from the submit response.

Response

The request's current state.

request_id
string<uuid>
required

The request id, also the id in status_url and cancel_url.

status
enum<string>
required

queued and in_progress are live; completed, failed, and cancelled are final.

Available options:
queued,
in_progress,
completed,
failed,
cancelled
architecture
string
required

The architecture the request generates with.

model_id
string | null
required

The model variant, when the architecture has variants.

created_at
string<date-time>
required

When the request was accepted.

updated_at
string<date-time>
required

When the request last changed.

billing
object
required
result
object | null
required

The output once status is completed, else null.

error
object | null
required

Why the request failed once status is failed, else null.

status_url
string<uri>
required

Poll this URL for the request.

cancel_url
string<uri>
required

POST to this URL to stop the request.

Last modified on September 17, 2026