Changes selected fields of an existing calendar event.
https://api.doboard.com/{account_id}/calendar_events_update
account_id is the numeric organization identifier.
GET, POST. POST accepts parameters as application/x-www-form-urlencoded.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
session_id |
string | Yes | — | Authenticated session ID. |
event_id |
int | Yes | — | Existing event identifier. |
event_name |
string | No | Unchanged | Nonempty event title, up to 64 characters. |
event_note |
string | No | Unchanged | Nonempty event description. |
user_id |
int | Conditional | Unchanged | New assigned user. Required in the same request when supplying role_id. |
role_id |
int | Conditional | Unchanged | Existing role. Required when supplying user_id, unless the same request specifies VACATION_DAY or CALENDAR_DAY. |
period_type |
enum | No | Unchanged | VACATION_DAY, CALENDAR_DAY or ROLE_DAY. |
location_id |
int | No | Unchanged | Existing location ID. |
calendar_day_type |
enum | No | Unchanged | NOT_WORKING_DAY or HOLIDAY. |
period_begin |
date | No | Unchanged | New start date in Y-m-d format. |
period_end |
date | No | Unchanged | New end date in Y-m-d format. Send a nonempty date. |
shift_duration |
int | No | Unchanged | Positive whole shift duration in hours, no greater than 24. |
viewers_ids |
array or comma-separated string | No | Empty list | Existing user IDs to notify about the updated event. |
Requires a valid session.
ADMIN and PROJECT_MANAGER users can supply another user’s ID. Other users can supply their own ID. An assignment to another user by a non-manager is ignored.
0 are ignored for most editable fields; they do not clear existing values.Clearing period_end is not currently reliable: an empty value is not correctly bound during execution. To preserve the end date, omit the parameter.
Update the description:
POST /42/calendar_events_update HTTP/1.1
Host: api.doboard.com
Content-Type: application/x-www-form-urlencoded
session_id=YOUR_SESSION_ID&event_id=501&event_note=Updated+leave+details
Change a role assignment and its dates:
POST /42/calendar_events_update HTTP/1.1
Host: api.doboard.com
Content-Type: application/x-www-form-urlencoded
session_id=YOUR_SESSION_ID&event_id=502&user_id=12&role_id=3&period_type=ROLE_DAY&period_begin=2026-11-16&period_end=2026-11-20&shift_duration=8
{
"data": {
"operation_status": "SUCCESS",
"event_id": 501
}
}
All example IDs and dates are illustrative.
All business errors below return HTTP 200.
error_no |
Message | Description |
|---|---|---|
1801 |
User Not Found |
Accepted user assignment refers to a missing user. |
1802 |
Event Not Found |
Event does not exist. |
1803 |
event_id is required |
Event ID is missing or empty. |
1804 |
Role Not Found |
Role does not exist. |
1805 |
user_id is required |
Role was supplied without an accepted user in the same request. |
1806 |
period_type must be in ('VACATION_DAY','CALENDAR_DAY','ROLE_DAY') |
Unsupported period type. |
1807 |
role_id is required |
Supplied user requires a role or a qualifying period type in the same request. |
1808 |
Location Not Found |
Location does not exist. |
1809 |
calendar_day_type must be in ('NOT_WORKING_DAY','HOLIDAY') |
Unsupported calendar-day type. |
1810 |
period_begin wrong format, expected format: Y-m-d |
Start date could not be parsed. |
1811 |
period_end wrong format, expected format: Y-m-d |
End date could not be parsed. |
1812 |
period_end must be greater than period_begin |
Supplied end date precedes supplied start date. |
1813 |
shift_duration cannot be greater than 24 |
Shift duration exceeds 24. |
1814 |
Event already exists for this user and role within the selected period. |
Another assignment overlaps for the supplied user and role. |
0 |
Internal API Error |
Event update failed. |
Missing or invalid sessions return HTTP 401, error_no=401, session_id Unknown.
event_note does not clear the existing description.viewers_ids applies to notifications for this request; it is not a persistent event watcher list.calendar_events_add.