---
title: "🔒 Получение списка задач с фильтрацией по сущностям, категориям, исполнителям и пагинацией."
method: GET
path: "/projects/task/list"
tags: ["Projects: Tasks"]
---

# 🔒 Получение списка задач с фильтрацией по сущностям, категориям, исполнителям и пагинацией.

`GET /projects/task/list`

## Request

- Base URL: `http://localhost`
- URL: `http://localhost/projects/task/list`
- Auth: one of:
  - API key in header `sid` and API key in header `rts` and API key in header `sig`
  - HTTP bearer

Получение списка задач с фильтрацией по сущностям, категориям, исполнителям и пагинацией.

**Access:** `authorized` (10 ) · **Scope:** `read`

**Allows:** `task:read`, `task:read-drafts` (все обязательны; проверка в команде по ресурсу из запроса)

### TypeScript (copy-paste)

**`GET /projects/task/list`**

<details open><summary><b>Params</b></summary>

```typescript
export interface ProjectsTaskListParams {
  ID?: string | null
  type?: EntityType | null
  resolutionVersionID?: string | null
  allNestedTasks?: boolean | null
  notClosed?: boolean | null
  category?: TaskCategory | null
  status?: TaskStatus | null
  components?: Array<string> | null
  currentAssignee?: string | null
  nextCursor?: string | null
  sortBy?: projects_task_list_sortBy
}
```

</details>

<details open><summary><b>Response</b></summary>

```typescript
export type ProjectsTaskListResponse = IServerResponse<Resp_projects_task_list>

export interface IServerResponse<T = any> {
  code: number
  data: T
  srvTS: number
  rkey: string
}
```

</details>

> Полный файл типов: [`/docs/types`](/docs/types) · raw: [`/docs/api-types.ts`](/docs/api-types.ts)

## Query parameters

- `ID` string, uuid, nullable
- `type` 'project' | 'product' | 'module' | 'component' | 'version' | 'feature' | 'task' | 'bug': `project` = "project", `product` = "product", `module` = "module", `component` = "component", `version` = "version", `feature` = "feature", `task` = "task", `bug` = "bug"
- `resolutionVersionID` string, uuid, nullable
- `allNestedTasks` boolean, nullable
- `notClosed` boolean, nullable
- `category` 1 | 3 | 6 | 9: `common` = 1, `dev` = 3, `qa` = 6, `bug` = 9
- `status` 0 | 110 | 120 | 130 | 140 | 150 | 200: `draft` = 0, `approval` = 110, `work` = 120, `review` = 130, `deployment` = 140, `testing` = 150, `closed` = 200
- `components` string[], nullable
- `currentAssignee` string, nullable
- `nextCursor` string, nullable
- `sortBy` 'ord' | 'createDT': `ord` = "ord", `createDT` = "createDT"

## Headers

- `devID` string, uuid, required
- `tz` string, required
- `app` string, required
- `appVer` string, required
- `rKey` string

## Response `200`

OK — `IServerResponse<Resp_projects_task_list>`

- object
  - `code` integer, required
  - `data` RespProjectsTaskList, required: ResponseData for projects/task/list
    - `list` TaskWithSpentTime[], required
    - `categories` object, required: Partial<Record<TaskCategory, number>>
    - `nextCursor` string, nullable
    - `filters` object, required
      - `statuses` object[], required
  - `srvTS` integer, required: Server timestamp (ms)
  - `rkey` string, required: Request key

## Other responses

- `400`: BadRequest: Invalid entity type or invalid cursor provided
- `401`: Unauthorized: Active user session required
- `403`: AccessNotAllowed — privilegeRequired: нет привилегии; data.params = { code: 'privilegeRequired', allow, relation? }
- `404`: NotFound: Filter entity with specified ID does not exist
- `406`: TimeResync — расхождение rts с сервером

---

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