# Schedule members

| Method | Path | Bitrix24 method |
| --- | --- | --- |
| POST | `/v1/workday/schedules/:id/users` | timeman.schedule.addUser |
| DELETE | `/v1/workday/schedules/:id/users/:userId` | timeman.schedule.deleteUser |

POST accepts `{ "userId": 101 }`. All IDs must be positive integers. Response is an allowlisted DTO `{ success: true, data: { schedule: { id, name } } }`, preserving Bitrix24's existing camelCase keys. A missing schedule yields 404 ENTITY_NOT_FOUND. These upstream methods are undocumented; their JSON contract was probed on 2026-10-01.

DELETE keeps the assignment row and marks the employee excluded from this schedule, including an all-users schedule, and removes future shift plans. POST removes the exclusion. The employee's other schedules remain unchanged. This action does not transfer the employee by removing their other assignments.

## Access and errors

Key scope: `timeman`. Bitrix24 enforces user permissions. 400 INVALID_PARAMS means invalid input; 403 means missing scope or Bitrix24 permissions; writes with a READONLY key return 403 WRITE_BLOCKED_READONLY_KEY; 409 TIMEMAN_MODULE_NOT_ENABLED means unavailable Time Management; 422 BITRIX_ERROR forwards a Bitrix24 business refusal with its text. Webhook credentials are scrubbed from responses.

[All endpoints](/docs/workday/endpoints)
