---
title: "List workflow versions"
method: GET
path: "/workflows/{id}/versions"
tags: ["Workflows"]
---

# List workflow versions

`GET /workflows/{id}/versions`

## Request

- Base URL: `https://api.edgaze.ai/v1`
- URL: `https://api.edgaze.ai/v1/workflows/{id}/versions`
- Auth: HTTP bearer

Return the versions the caller is entitled to see for a workflow. Owners see the full history; buyers see the version their pin covers plus the current active version. Also returns the caller's `pinnedVersionId` / `activeVersionId` and an `updateAvailable` flag so integrators can decide whether to POST `/workflows/{id}/accept-update`.

## Path parameters

- `id` string, required: UUID of the workflow.

## Response `200`

Entitled workflow versions.

- WorkflowVersionsResponse: Response body for GET /workflows/{id}/versions. Owners see the full history; buyers see the versions their pin or entitlement covers.
  - `isOwner` boolean, required
  - `activeVersionId` string, uuid, nullable, required
  - `pinnedVersionId` string, uuid, nullable, required
  - `updateAvailable` boolean, required
  - `versions` WorkflowVersionSummary[], required
    - `id` string, uuid, required
    - `createdAt` string, date-time, required
    - `releaseNotes` string, nullable, required
    - `isActive` boolean, required
    - `isPurchased` boolean, required

## Other responses

- `400`: Missing or malformed workflow id.
- `401`: Invalid or missing API key.
- `403`: Not entitled to this workflow.
- `404`: Workflow not found.
- `500`: Unexpected server error.

---

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