# Work reports

An employee's work report for a period: the employee creates and submits the report, and the manager reads their subordinates' reports and marks them.

Report contents — [Report fields](/docs/workday/work-reports/fields).

**Scope:** `timeman` | **Base URL:** `https://vibecode.bitrix24.com/v1` | **Authorization:** `X-Api-Key`

## Operations

- [List work reports](./work-reports/list.md) — `GET /v1/workday/work-reports`
- [Subordinate work reports](./work-reports/subordinates.md) — `GET /v1/workday/work-reports/subordinates`
- [Read a work report](./work-reports/get.md) — `GET /v1/workday/work-reports/:id`
- [Create a work report](./work-reports/create.md) — `POST /v1/workday/work-reports`
- [Update a work report](./work-reports/update.md) — `PATCH /v1/workday/work-reports/:id`
- [Send a work report](./work-reports/send.md) — `POST /v1/workday/work-reports/:id/send`
- [Submit a work report](./work-reports/submit.md) — `POST /v1/workday/work-reports/submit`
- [Approve a work report](./work-reports/approve.md) — `POST /v1/workday/work-reports/:id/approve`
- [Reject a work report](./work-reports/reject.md) — `POST /v1/workday/work-reports/:id/reject`
- [Disapprove a work report](./work-reports/disapprove.md) — `POST /v1/workday/work-reports/:id/disapprove`

## Access

Bitrix24 checks the credential owner's permissions: for a personal key, that is the key owner; for an app key, the user whose session token is passed in `Authorization`. A `READONLY` key can read reports but cannot create, edit, submit, or mark them. Each read method accepts up to 30 requests per minute per key-and-user pair and returns `429 RATE_LIMITED` beyond that.

## Typical scenario

Employee:

1. Create a report for a period: [`POST /v1/workday/work-reports`](./work-reports/create.md). Edit it: [`PATCH /v1/workday/work-reports/:id`](./work-reports/update.md).
2. Submit the created report: [`POST /v1/workday/work-reports/:id/send`](./work-reports/send.md). To create and submit a report in one call: [`POST /v1/workday/work-reports/submit`](./work-reports/submit.md) without `reportId`.

Manager:

1. Get subordinates' reports: [`GET /v1/workday/work-reports/subordinates`](./work-reports/subordinates.md).
2. Mark a report by its `id`: approve it with [`approve`](./work-reports/approve.md), give it a neutral mark with [`reject`](./work-reports/reject.md), or a negative one with [`disapprove`](./work-reports/disapprove.md).

## See also

- [Report fields](/docs/workday/work-reports/fields)
- [Daily reports](/docs/workday/daily-reports)
- [Workday](/docs/workday)
