---
title: "Get an asynchronous run"
method: GET
path: "/v1/run/{id}"
tags: ["Models"]
---

# Get an asynchronous run

`GET /v1/run/{id}`

## Request

- Base URL: `https://api.sandbase.ai`
- URL: `https://api.sandbase.ai/v1/run/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

Current or terminal run state

- RunResponse
  - `id` string, required: Opaque execution identifier. Use exactly as returned; no prefix is guaranteed.
  - `model` string, required
  - `status` 'pending' | 'running' | 'completed' | 'failed' | 'timeout', required: A stored completed task can temporarily be reported as running while output transfer is still pending.
  - `outputs` object[]: Extracted generated outputs when available. Omitted from non-terminal responses and also from completed responses whose output is empty, malformed, unsupported, or not yet transferred.
    - `url` string: Provider output string, commonly an HTTP URL or data URI; syntax is not revalidated by this projection.
    - `content_type` string
  - `error` object: Structured sanitized error for failed or timed-out runs when the stored error message is non-empty; otherwise omitted.
    - `type` string, required
    - `message` string, required
  - `usage` object: Model-specific public usage details when available; omitted for models that do not report them.

## Other responses

- `401`: Missing or invalid API key
- `402`: API key spending limit exceeded
- `403`: API key scope does not authorize this endpoint
- `404`: Run not found

---

[API](https://skmtc.dev/sandbase/apis/sandbase-api.md) · [All operations](https://skmtc.dev/sandbase/apis/sandbase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sandbase/apis/sandbase-api/revisions/d40df2467ba2?raw)
