---
title: "Get Active Tasks"
method: GET
path: "/tasks/active"
---

# Get Active Tasks

`GET /tasks/active`

## Request

- Base URL: `https://api.voicelabs.now` (the document declares no server; this is the origin it was published from)
- URL: `https://api.voicelabs.now/tasks/active`
- Auth: none declared

Return all currently active downloads and generations.

Downloads stay in-memory: model downloads are a server-level resource
(one cache shared by everyone), so they are deliberately NOT tenant-keyed.

Generations are derived from the DATABASE, scoped to the requesting tenant
(P2 prod fix 2026-07-17). The old in-memory task list had two failure
modes the prod E2E hit: it was empty after an engine restart (rows still
said "generating" but nothing tracked them, so the studio never restored
its pending set), and it was NOT tenant-scoped (it returned — and leaked
text previews of — every user's generations to every caller).

## Response `200`

Successful Response

- ActiveTasksResponse: Response model for active tasks.
  - `downloads` ActiveDownloadTask[], required
    - `model_name` string, required
    - `status` string, required
    - `started_at` string, date-time, required
    - `error` string, nullable
    - `progress` number, nullable
    - `current` integer, nullable
    - `total` integer, nullable
    - `filename` string, nullable
  - `generations` ActiveGenerationTask[], required
    - `task_id` string, required
    - `profile_id` string, required
    - `text_preview` string, required
    - `started_at` string, date-time, required

---

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