Update an event
Changed onUpdates the specified event, conference, or metadata.
When you make a PUT request, Nylas replaces all data in the nested object with the information included in your request. For more information, see Updating objects.
Limitations
Nylas handles updating and deleting events similarly to other endpoints, with the following restrictions:
- You can't update events where read_only is true.
- You can't update events where the parent calendar's read_only field is true.
Request
- Base URLhttps://api.us.nylas.com
- Auth
- HTTP bearer
- or HTTP bearer
Query parameters
The calendar ID of the event.
For Microsoft, we do not validate whether the given calendar ID matches the real calendar ID of the event. This is due to a limitation of the Microsoft Graph API.
(Not supported for iCloud) You can use primary to query the user's primary calendar.
For an Agent Account, you can also pass the account's own email address, in any letter case, to query its primary calendar. Any other email address returns a 400 error.
Specify fields that you want Nylas to return, as a comma-separated list (for example, select=id,updated_at). This allows you to receive only the portion of object data that you're interested in. You can use select to optimize response size and reduce latency by limiting queries to only the information that you need.
When true, the provider emails participants about the change. Set to false to make the change without notifying participants.
Microsoft returns a 400 error for notify_participants=false. iCloud ignores the setting and always notifies participants.
(Microsoft and EWS only) When true, Nylas treats tentative events as busy.
Request body
Example request
{
"busy": true,
"capacity": 5,
"description": "Come ready to talk philosophy!",
"location": "Room 130",
"notetaker": {
"id": "71c807752c744ad0902f64d43e6cc399",
"meeting_settings": {
"action_items": true,
"action_items_settings": {
"custom_instructions": "Only return the 5 most important action items."
},
"audio_recording": true,
"leave_after_silence_seconds": 360,
"summary": true,
"summary_settings": {
"custom_instructions": "Return this summary in the MEDPIC sales methodology."
},
"transcription": true,
"video_recording": true,
"transcription_settings": {
"expected_languages": [
"en",
"es"
],
"fallback_language": "en",
"keywords": [
"Nylas",
"AssemblyAI"
],
"use_speaker_names_as_keywords": true
},
"messages": {
"on_join": [
{
"type": "text",
"content": "👋 Hey team! I'm your AI notetaker — here to capture the key points.",
"send_after_ms": 5000
}
],
"on_participant_join": [
{
"type": "text",
"content": "👋 Welcome! Recording and transcription are running.",
"debounce_ms": 3000
}
]
}
},
"name": "Nylas Notetaker"
},
"participants": [
{
"email": "dorothy@example.com",
"name": "Dorothy Vaughan"
}
],
"resources": [
{
"email": "conference-room@resource.google.com",
"name": "Conference room"
}
],
"recurrence": [
"RRULE:FREQ=WEEKLY;BYDAY=MO",
"EXDATE:20210405T000000Z"
],
"reminders": {
"overrides": [
{
"reminder_minutes": 20,
"reminder_method": "popup"
}
]
},
"title": "Annual Philosophy Club Meeting",
"when": {
"time": 1633698000,
"timezone": "America/New_York"
}
}Response
Event Response
Example response
{
"request_id": "5fa64c92-e840-4357-86b9-2aa364d35b88"
}Changes
- info
added the optional property
//to the response with the status
- info
- breaking
removed
subschema #1: Auto-conferencingsubschema #2: Google Meetsubschema #3: Zoom Meetingsubschema #4: Microsoft Teamssubschema #5: Teams for Businesssubschema #6: Skype for Consumersubschema #7: Skype for Businesssubschema #8: WebExsubschema #9: GoToMeetingfrom therequest propertyoneOflist - breaking
the
/response's property type changed from no type toobjectfor status - info
added
subschema #1: Auto-conferencingsubschema #2: Google Meetsubschema #3: Zoom Meetingsubschema #4: Microsoft Teamssubschema #5: Teams for Businesssubschema #6: Skype for Consumersubschema #7: Skype for Businesssubschema #8: WebExsubschema #9: GoToMeetingsubschema #10: Remove conferencingto therequest propertyanyOflist - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
removed from the
/response propertyallOflist for the response status
- breaking