For AI agents: markdown of this page — /docs-content-en/workday/work-reports/send.md documentation index — /llms.txt

Send a work report

POST /v1/workday/work-reports/:id/send

Sends a previously created work report by its ID and marks it as submitted without changing the text.

Requires the timeman scope. Bitrix24 checks the credential owner’s permissions. READONLY keys can read reports and cannot write them.

Parameters

Parameter Type Required Default Description
id (path) integer yes — Report ID. List: GET /v1/workday/work-reports

No request body is needed. An empty object {} is accepted, and any field in the body returns 400 INVALID_PARAMS.

Examples

curl — personal key

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/workday/work-reports/159/send" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/workday/work-reports/159/send" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/work-reports/159/send', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})
const { data } = await res.json()

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/work-reports/159/send', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data } = await res.json()

Response fields

Field Type Description
success boolean true when the report is sent
data object The submitted report. All fields — Report fields

Response example

The main report fields are shown. For the full list, see Report fields:

JSON
{
  "success": true,
  "data": {
    "id": 159,
    "userId": 101,
    "active": true,
    "reportType": "day",
    "reportDate": "2026-10-06T19:09:31.000Z",
    "dateFrom": "2026-10-06T21:00:00.000Z",
    "dateTo": "2026-10-06T21:00:00.000Z",
    "report": "Weekly report",
    "type": "REPORT",
    "mark": "N",
    "approve": "Y"
  }
}

Error response example

404 — no report with this id exists:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Report not found."
  }
}

Errors

HTTP Code Description
400 INVALID_PARAMS id is not a positive integer, the request body is not a JSON object, or the body contains a field
404 ENTITY_NOT_FOUND No report with this id exists
403 BITRIX_ACCESS_DENIED The report belongs to another employee, and the credential owner lacks Bitrix24 permissions to change that employee's reports
409 TIMEMAN_MODULE_NOT_ENABLED Time Management is not available on this portal
422 BITRIX_ERROR Bitrix24 refused the operation
502 BITRIX_UNAVAILABLE Bitrix24 is unavailable or returned a response of an unexpected shape
401 MISSING_API_KEY The X-Api-Key header was not passed
401 TOKEN_MISSING An app key was sent without a session token in Authorization: Bearer
401 INVALID_SESSION The session token is invalid or has expired
403 WRITE_BLOCKED_READONLY_KEY The key is READONLY and cannot send reports
403 SCOPE_DENIED The key lacks the timeman scope
429 RATE_LIMITED The general request limit was exceeded

The full list of common API errors — Errors.

Known specifics

  • Confirmation depends on the employee's managers. If the employee has managers, the report waits for their mark: approve is "N". If the employee has no managers, the report is confirmed immediately: approve is "Y".
  • Sending again changes nothing. A report that is already submitted is returned unchanged.

See also