---
title: "🔒 Вкладка «Продукты» профиля сотрудника: продукты с ролью, временем, стоимостью и датой последнего ворклога. #26673 Стоимость видна по user:allowed-products к сотруднику; без маржи, если выработка покрыта worklog:no-margin (своя, отдела у лида, продуктов у РП), иначе с маржой."
method: GET
path: "/team/user-products"
tags: ["Company: Team"]
---

# 🔒 Вкладка «Продукты» профиля сотрудника: продукты с ролью, временем, стоимостью и датой последнего ворклога. #26673 Стоимость видна по user:allowed-products к сотруднику; без маржи, если выработка покрыта worklog:no-margin (своя, отдела у лида, продуктов у РП), иначе с маржой.

`GET /team/user-products`

## Request

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

Вкладка «Продукты» профиля сотрудника: продукты с ролью, временем, стоимостью и датой последнего ворклога. #26673 Стоимость видна по user:allowed-products к сотруднику; без маржи, если выработка покрыта worklog:no-margin (своя, отдела у лида, продуктов у РП), иначе с маржой.

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

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

### TypeScript (copy-paste)

**`GET /team/user-products`**

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

```typescript
export interface TeamUserProductsParams {
  userID: string
}
```

</details>

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

```typescript
export type TeamUserProductsResponse = IServerResponse<Resp_team_user-products>

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

- `userID` string, uuid, required

## Headers

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

## Response `200`

OK — `IServerResponse<Resp_team_user-products>`

- object
  - `code` integer, required
  - `data` RespTeamUserProducts, required: ResponseData for team/user-products
    - `products` DataProduct[], 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 products (privilegeRequired)
- `404`: NotFound: Specified user 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)
