---
title: "Get Completed Tasks"
method: GET
path: "/api/quality-checks/tasks"
tags: ["quality-checks"]
---

# Get Completed Tasks

`GET /api/quality-checks/tasks`

## Request

- Base URL: `https://api.mit-llm-survey.academy` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mit-llm-survey.academy/api/quality-checks/tasks`
- Auth: none declared

Get task groups for quality checks.

**Task Grouping:**
- Task IDs are formatted as xxx-1, xxx-2, xxx-y
- Tasks are grouped by prefix (xxx - the part before the last dash)

**Filters (applied to individual task instances):**
- is_deleted is null

**Status Filter (applied to task groups based on unavailable task instances):**
- completed: Groups with >= 2 unavailable task instances
- in_progress: Groups with exactly 1 unavailable task instance
- pending: Groups with 0 unavailable task instances
- Not provided: All groups

**Ordering:**
- Ordered by updated_at DESC and task_id

**Pagination:**
- limit: Number of task groups to return (default: 10, max: 100)
- skip: Number of task groups to skip (default: 0)

**Search:**
- search: Optional search string to filter by task_description (case-insensitive)

**Returns:**
- total: Total number of task groups
- limit: Limit used
- skip: Skip used
- items: Array of task groups with task_group_id, task_description, occupation_name, unavailable_instance_count (number of unavailable task instances), instances

## Query parameters

- `limit` integer
- `skip` integer
- `search` string, nullable: Search string for task_description
- `status` 'completed' | 'in_progress' | 'pending', nullable: Filter by status: completed (>=2 unavailable instances), in_progress (=1 unavailable instance), pending (=0 unavailable instances)

## Response `200`

Successful Response

- CompletedTasksResponse: Model for completed tasks response with pagination
  - `total` integer, required
  - `limit` integer, required
  - `skip` integer, required
  - `items` CompletedTaskGroup[], required
    - `task_group_id` string, required
    - `task_description` string, required
    - `occupation_id` string, required
    - `occupation_name` string, required
    - `unavailable_instance_count` integer, required
    - `instances` CompletedTaskInstance[], required
      - `task_id` string, required
      - `available` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/mit-llm-survey/apis/llm-survey-backend.md) - [All operations](https://skmtc.dev/mit-llm-survey/apis/llm-survey-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/mit-llm-survey/apis/llm-survey-backend/revisions/6a5ef49cfcc4?raw)
