Skip to main content
create_event and update_event are not plain CRUD. This page covers the behavior behind the arguments — the parts that will surprise an agent that assumes otherwise.

Creating

create_event returns the new event’s id and grantedTo:
grantedTo is how many people can now see the event. You are one of them; the rest are your approvers.
grantedTo: 0 means the event exists but nobody can see it. Enterprise events are private by default and visibility is derived from the creator’s group memberships — so a user who belongs to no group produces an invisible event. It is not an error and the event is real; an administrator needs to add that user to a group. Check this value rather than assuming success means the event is usable.
The organization comes from your session, so it is never an argument.

Updating

update_event takes only the fields you are changing, under changes. Three rules govern every update:
A field you leave out is not touched. Sending null clears it. That distinction is deliberate — there is no way to accidentally blank a field by omitting it, and no way to clear one by guessing at an empty value.
If any field is rejected, nothing is written and the error lists every problem at once. A rejected update therefore always leaves the event untouched, so it is safe to correct and retry without checking what partially landed.
location is derived from formattedLocations, and event dates from the union of your guestroom nights and agenda date ranges. Neither is accepted as input — send the inputs and the derived values follow.

Editing the agenda

The agenda is edited by operation, not by replacement. Send agendaOperations with add, update or remove, each addressed by a session id from a prior get_event:
Replacing the whole agenda to change one session is both expensive and an easy way to silently drop the ones you forgot, so there is no way to do it. An unknown sessionId is an error rather than a silent no-op.

Two refusals worth planning for

A cancelled event cannot be edited. Reopen it in Nowadays first. Shrinking the agenda dates is refused if any session would lose a date. The affected sessions are named in orphanedSessions:
The dashboard drops such sessions after an “are you sure” prompt. An agent has no equivalent prompt, so the write is refused instead — move or remove the sessions deliberately, then retry.

Limits

A single call is bounded so one request cannot monopolise the service: Exceeding one is rejected with the offending field named, and — as always — nothing is written.