update_session
Update a session's content, taxonomy, schedule, or custom fields. Depending on the organization's settings, this either executes immediately or files a proposal for approval; the response status field says which happened.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization slug. Only needed when you belong to multiple organizations; must be one returned by list_my_orgs. | |
| room | No | The room's exact NAME as returned by get_field_options (not free text). | |
| tags | No | Replacement list of PREDEFINED tag names for the session. Each must exactly match a tag from get_field_options — tags are not free text. | |
| type | No | New session type. | |
| level | No | The level's exact NAME as returned by get_field_options (not free text). | |
| title | No | New session title. | |
| track | No | The track's exact NAME as returned by get_field_options (not free text). | |
| format | No | The format's exact NAME as returned by get_field_options (not free text). | |
| status | No | The status's exact NAME as returned by get_field_options (not free text). | |
| endTime | No | New end time as an ISO 8601 string. | |
| eventId | Yes | Event id, as returned by list_events. | |
| duration | No | New duration in minutes (recomputes end time if scheduled). | |
| isPublic | No | Whether the session is public. | |
| language | No | The language's exact NAME as returned by get_field_options (not free text). | |
| sessionId | Yes | The session id to update. | |
| startTime | No | New start time as an ISO 8601 string. | |
| request_id | Yes | Client-generated unique id for this write (e.g. a UUID). Retries with the same request_id return the original executed or proposed outcome instead of creating a duplicate. Never reuse a request_id for different arguments. | |
| description | No | New session description. | |
| isTentative | No | Whether the session is tentative. | |
| customFields | No | Key→value map of custom fields. Only include keys you want to add or change; existing custom fields are preserved (send a key with value null to remove it). You may key each entry by the field's display name (e.g. 'Portal enabled') or its stored key, the server matches it to the correct custom field, so you do NOT need to guess the exact snake_case key. Values may be strings, numbers, or booleans. Reading the record first (search_contacts / list_sessions / list_sponsors) shows the custom fields already set. | |
| maxAttendees | No | New maximum attendee capacity. |