For AI agents: markdown of this page — /docs-content-en/workday/work-reports/approve.md documentation index — /llms.txt
Approve a work report
POST /v1/workday/work-reports/:id/approve
Requires the timeman scope. Bitrix24 checks the credential owner’s permissions. READONLY keys can read reports and cannot write them.
The operation can notify users. A false decision result returns 422 BITRIX_ERROR: report not found or cannot be changed.
The decision is positive.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Work report list |
Examples
curl -X POST "https://vibecode.bitrix24.com/v1/workday/work-reports/79/approve" -H "X-Api-Key: YOUR_API_KEY"
curl -X POST "https://vibecode.bitrix24.com/v1/workday/work-reports/79/approve" -H "X-Api-Key: YOUR_APP_KEY" -H "X-Vibe-Authorization: Bearer USER_ACCESS_TOKEN"
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/work-reports/79/approve", {
"method": "POST",
"headers": {
"X-Api-Key": "YOUR_API_KEY"
}
});
const result = await response.json();
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/work-reports/79/approve", {
"method": "POST",
"headers": {
"X-Api-Key": "YOUR_APP_KEY",
"X-Vibe-Authorization": "Bearer USER_ACCESS_TOKEN"
}
});
const result = await response.json();
Response fields
| Field | Description |
|---|---|
| success | true |
| data | true |
Response example:
{
"success": true,
"data": true
}
Errors
| HTTP | Code | Condition |
|---|---|---|
| 400 | INVALID_PARAMS | Invalid input |
| 403 | SCOPE_DENIED | Missing timeman scope |
| 403 | BITRIX_ACCESS_DENIED | Bitrix24 denies access or daily record is not owned by caller |
| 404 | ENTITY_NOT_FOUND | Report or record not found |
| 409 | TIMEMAN_MODULE_NOT_ENABLED | Time Management unavailable |
| 422 | BITRIX_ERROR | Bitrix24 business refusal or false decision result |
| 429 | RATE_LIMITED | Read or global rate limit |
| 502 | BITRIX_UNAVAILABLE | Unexpected response or Bitrix24 unavailable |
| 403 | WRITE_BLOCKED_READONLY_KEY | READONLY |
400 — missing or invalid input:
{"success":false,"error":{"code":"INVALID_PARAMS","message":"Expected a positive integer"}}