---
title: "🔒 #26564 Затраты по сущности для вкладки «Затраты»: время, оклад и премия по сотрудникам, ролям, задачам и итерациям, коррекции. #26659 По привилегии *:costs сущности; оклад и премия строки раздельно - при user:employment к её сотруднику, коррекции - при user:employment «вся компания». #26673 Оклад и премия ворклогов - с маржой (свои тоже) или без маржи на весь отчёт: margin не передан - без маржи, если сущность покрыта привилегией worklog:no-margin, true - с маржой, false - без маржи (не покрыта - 403); применённый режим - поле margin. Коррекции - без маржи. #26808 Коррекции с процентом входят в стоимость (correction строк, ворклогов и итога, с маржой суммы) - тоже только при user:employment «вся компания»: без неё стоимость - оклад и премия; автокоррекции правки ворклога (без автора и процента) - только в списке."
method: GET
path: "/costs/entity"
tags: ["Costs"]
---

# 🔒 #26564 Затраты по сущности для вкладки «Затраты»: время, оклад и премия по сотрудникам, ролям, задачам и итерациям, коррекции. #26659 По привилегии \*:costs сущности; оклад и премия строки раздельно - при user:employment к её сотруднику, коррекции - при user:employment «вся компания». #26673 Оклад и премия ворклогов - с маржой (свои тоже) или без маржи на весь отчёт: margin не передан - без маржи, если сущность покрыта привилегией worklog:no-margin, true - с маржой, false - без маржи (не покрыта - 403); применённый режим - поле margin. Коррекции - без маржи. #26808 Коррекции с процентом входят в стоимость (correction строк, ворклогов и итога, с маржой суммы) - тоже только при user:employment «вся компания»: без неё стоимость - оклад и премия; автокоррекции правки ворклога (без автора и процента) - только в списке.

`GET /costs/entity`

## Request

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

#26564 Затраты по сущности для вкладки «Затраты»: время, оклад и премия по сотрудникам, ролям, задачам и итерациям, коррекции. #26659 По привилегии *:costs сущности; оклад и премия строки раздельно - при user:employment к её сотруднику, коррекции - при user:employment «вся компания». #26673 Оклад и премия ворклогов - с маржой (свои тоже) или без маржи на весь отчёт: margin не передан - без маржи, если сущность покрыта привилегией worklog:no-margin, true - с маржой, false - без маржи (не покрыта - 403); применённый режим - поле margin. Коррекции - без маржи. #26808 Коррекции с процентом входят в стоимость (correction строк, ворклогов и итога, с маржой суммы) - тоже только при user:employment «вся компания»: без неё стоимость - оклад и премия; автокоррекции правки ворклога (без автора и процента) - только в списке.

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

**Allows:** `task:costs`, `feature:costs`, `version:costs`, `product:costs`, `meeting:costs`, `user:employment`, `worklog:no-margin` (все обязательны; проверка в команде по ресурсу из запроса)

### TypeScript (copy-paste)

**`GET /costs/entity`**

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

```typescript
export interface CostsEntityParams {
  entityType: costs_entity_entityType
  entityID: string
  iterationKey?: number | null
  margin?: boolean | null
}
```

</details>

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

```typescript
export type CostsEntityResponse = IServerResponse<Resp_costs_entity>

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

- `entityType` 'task' | 'bug' | 'feature' | 'version' | 'product' | 'meeting', required: `task` = "task", `bug` = "bug", `feature` = "feature", `version` = "version", `product` = "product", `meeting` = "meeting"
- `entityID` string, uuid, required
- `iterationKey` integer, 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_costs_entity>`

- object
  - `code` integer, required
  - `data` RespCostsEntity, required: ResponseData for costs/entity
    - `margin` boolean, required: #26673 Применённый режим: true - суммы ворклогов с маржой, false - без маржи
    - `iterations` number[], required: Итерации, в которых по сущности была работа, по убыванию
    - `totals` object, required: #26808 Стоимость = оклад + премия + коррекции
      - `time` number, required
      - `salary` number, required
      - `award` number, required
      - `correction` number, required
      - `cost` number, required
    - `rows` CostsRow[], required
    - `corrections` PaymentAwardPart[], required: Коррекции по сущности, её подсущностям и ворклогам
      - `cID` string, uuid, required
      - `ID` string, uuid, required
      - `userID` string, uuid, required
      - `monthDK` integer, required: Day key (YYYYMMDD or internal day index)
      - `type` 10 | 20 | 30 | 40 | 50, required: `output` = 10, `correction` = 20, `fine` = 30, `bonus` = 40, `carryover` = 50
      - `amount` number, required
      - `title` string, nullable
      - `note` string, nullable
      - `paymentID` string, uuid, nullable
      - `percent` integer, nullable
      - `base` number, nullable
      - `resource` object, nullable
      - `createdDT` string, date-time, required
      - `createdUID` string, uuid, nullable
      - `updTS` integer, required: Unix timestamp in milliseconds
      - `updUID` string, required
    - `worklogs` CostsWorklog[]: У задачи и ошибки - завершённые ворклоги выбранной итерации: уровень ворклогов и коррекция по ворклогу
    - `titles` object: Названия задач, фич и версий из строк: в сторе веба их может не быть
  - `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 *:costs of the entity required; margin=false requires privilege worklog:no-margin to the entity (privilegeRequired)
- `404`: NotFound: Entity not found
- `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)
