---
title: "Get freestyle run status"
method: GET
path: "/freestyle/{runId}"
tags: ["Runs"]
---

# Get freestyle run status

`GET /freestyle/{runId}`

## Request

- Base URL: `https://app.uselamina.ai/v1`
- URL: `https://app.uselamina.ai/v1/freestyle/{runId}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Poll the status and outputs of a freestyle (recipe) run.

## Path parameters

- `runId` string, uuid, required

## Response `200`

Freestyle run status

- object
  - `data` ExecutionResponse, required
    - `runId` string, uuid, required
    - `workflowId` string, uuid, required
    - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', required
    - `outputs` ExecutionOutput[]
      - `id` string, required
      - `label` string, required
      - `type` string, required
      - `value` unknown
      - `status` string, required
      - `error` string, nullable
      - `mimeType` string: Canonical MIME type (e.g. "image/png", "video/mp4"). Present on completed outputs.
      - `contentDescription` string, nullable: What was produced (e.g. "AI-generated photograph"). Present on completed outputs.
      - `compatibleInputTypes` string[]: Downstream tool categories this output can feed into. Present on completed outputs.
      - `suggestedNextSteps` union[]: Actionable hints for chaining. Each item is either a plain string or an object with description and toolHint. Present on completed outputs.
        - union
          - string
          - SuggestedNextStep
            - `description` string, required: Human-readable next step description
            - `toolHint` string, nullable, required: Lamina tool name to invoke (e.g. "run_app", "lamina_create", "publish_content")
      - `canChainAs` string[]: Semantic roles this output can play in a pipeline (e.g. "hero_image", "social_clip"). Present on completed outputs.
      - `platformsOptimized` string[]: Platforms the output is likely formatted for (e.g. "instagram", "tiktok"). Present on completed outputs.
      - `dimensions` object, nullable: Output dimensions in pixels. Present on completed outputs when metadata is available.
        - `width` integer, required: Width in pixels
        - `height` integer, required: Height in pixels
      - `durationSeconds` number, nullable: Duration in seconds. Present on completed video/audio outputs when metadata is available.
    - `errorMessage` string, nullable
    - `cost` object: What the run cost, when the orchestrator recorded it.
      - `credits` number
    - `startedAt` string, date-time, nullable
    - `completedAt` string, date-time, nullable
    - `createdAt` string, date-time, required

## Other responses

- `401`: Missing or invalid API key
- `500`: Internal server error

---

[API](https://skmtc.dev/uselamina/apis/lamina-v1-api.md) · [All operations](https://skmtc.dev/uselamina/apis/lamina-v1-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uselamina/apis/lamina-v1-api/revisions/73b598526531?raw)
