---
title: "🔒 Получение полного состояния итерации (ворклоги, отпуска, задачи и встречи) для пользователя или всей компании. #26673 Деньги ворклогов - с маржой или без маржи на весь отчёт (параметр margin, применённый режим - поле margin)."
method: GET
path: "/iterations/state"
tags: ["Iterations"]
---

# 🔒 Получение полного состояния итерации (ворклоги, отпуска, задачи и встречи) для пользователя или всей компании. #26673 Деньги ворклогов - с маржой или без маржи на весь отчёт (параметр margin, применённый режим - поле margin).

`GET /iterations/state`

## Request

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

Получение полного состояния итерации (ворклоги, отпуска, задачи и встречи) для пользователя или всей компании. #26673 Деньги ворклогов - с маржой или без маржи на весь отчёт (параметр margin, применённый режим - поле margin).

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

**Allows:** `user:allowed-products`, `user:timeoff`, `worklog:no-margin` (все обязательны; проверка в команде по ресурсу из запроса)

### TypeScript (copy-paste)

**`GET /iterations/state`**

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

```typescript
export interface IterationsStateParams {
  iterationKey?: number | null
  userID?: string | null
  margin?: boolean | null
}
```

</details>

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

```typescript
export type IterationsStateResponse = IServerResponse<Resp_iterations_state>

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

- `iterationKey` integer, nullable
- `userID` string, nullable
- `margin` boolean, nullable

## Headers

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

## Response `200`

OK — `IServerResponse<Resp_iterations_state>`

- object
  - `code` integer, required
  - `data` RespIterationsState, required: ResponseData for iterations/state
    - `margin` boolean, required: #26673 Применённый режим: true - суммы с маржой, false - без маржи
    - `worklogs` WorkLog[], required
      - `ID` string, uuid, required
      - `cID` string, uuid, nullable
      - `productID` string, uuid, nullable
      - `versionID` string, uuid, nullable
      - `featureID` string, uuid, nullable
      - `taskID` string, uuid, nullable
      - `meetingID` string, uuid, 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
      - `sessID` string, uuid, required
      - `userID` string, uuid, required
      - `roleID` string, uuid, nullable
      - `roleType` 10 | 20 | 30 | 40 | 50 | 60 | 70: `management` = 10, `analytics` = 20, `marketing` = 30, `design` = 40, `development` = 50, `qa` = 60, `support` = 70
      - `iterationKey` integer, required
      - `isActive` boolean, required
      - `daykey` integer, required: Day key (YYYYMMDD or internal day index)
      - `startDt` string, date-time, required
      - `endDt` string, date-time, required
      - `time` integer, required
      - `money` integer, required
      - `moneySalary` integer, required
      - `moneyAward` integer, required
      - `note` object, nullable
      - `updTS` integer, required: Unix timestamp in milliseconds
      - `updUID` string, required
    - `timeoffs` UserTimeOff[], required
      - `ID` string, uuid, required
      - `cID` string, uuid, required
      - `userID` string, uuid, required
      - `roleID` string, uuid, required
      - `type` string, required
      - `paid` boolean, nullable
      - `sickLeaveID` string, nullable
      - `statementFID` string, uuid, nullable
      - `statementOrgID` string, uuid, nullable
      - `statementSentTS` integer, nullable: Unix timestamp in milliseconds
      - `year` integer, required
      - `startDayKey` integer, required: Day key (YYYYMMDD or internal day index)
      - `endDayKey` integer, nullable: Day key (YYYYMMDD or internal day index)
      - `daysCount` integer, required
      - `startWorkDayKey` integer, nullable: Day key (YYYYMMDD or internal day index)
      - `userNote` string, nullable
      - `userAvailable` boolean, nullable
      - `status` string, required
      - `adminNote` string, nullable
      - `adminUID` string, uuid, nullable
      - `payment` 'created' | 'paid': `created` = "created", `paid` = "paid"
      - `statement` object, nullable
      - `updTS` integer, required: Unix timestamp in milliseconds
      - `updUID` string, required
    - `tasks` object, required
    - `meetings` object, required
  - `srvTS` integer, required: Server timestamp (ms)
  - `rkey` string, required: Request key

## Other responses

- `400`: BadRequest / Validation — неверные params/body/headers
- `401`: Unauthorized: Active user session required
- `403`: AccessNotAllowed: Privilege user:allowed-products required to view another user iteration state (own, department, common or a shared accessible product - then only worklogs of the viewer products); margin=false requires privilege worklog:no-margin to the report (privilegeRequired)
- `404`: NotFound: Specified iterationKey or target userID 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)
