{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/nylas/refs/heads/main/json-schema/nylas-event-updated.schema.json",
  "title": "Nylas event.updated notification object",
  "description": "Sent when an event is modified or updated. Includes the `occurrences` parameter if the updated event is a single occurrence of a recurring Google event. This schema describes `data.object` inside the Nylas notification envelope.",
  "type": "object",
  "required": [
    "calendar_id",
    "id",
    "object",
    "when"
  ],
  "properties": {
    "account_id": {
      "type": "string",
      "description": "Legacy Nylas v2 account identifier (deprecated)."
    },
    "busy": {
      "type": "boolean",
      "description": "Whether the event marks the user as busy. May be `null` if not set by the provider.",
      "nullable": true
    },
    "calendar_id": {
      "type": "string",
      "description": "Identifier for the calendar this event belongs to. May be `null` in rare edge cases.",
      "nullable": true
    },
    "cancelled_occurrences": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Event IDs of cancelled occurrences in a recurring series."
    },
    "conferencing": {
      "type": "object",
      "description": "Video conferencing details attached to the event.",
      "properties": {
        "details": {
          "type": "object",
          "description": "Provider-specific conferencing details.",
          "properties": {
            "url": {
              "type": "string",
              "description": "URL to join the meeting."
            }
          }
        },
        "provider": {
          "type": "string",
          "description": "Conferencing provider name."
        }
      }
    },
    "created_at": {
      "type": "integer",
      "description": "Unix timestamp when the event was created."
    },
    "description": {
      "type": "string",
      "description": "Event description."
    },
    "grant_id": {
      "type": "string",
      "description": "Unique identifier for the grant that owns this event."
    },
    "hide_participants": {
      "type": "boolean",
      "description": "Whether the participant list is hidden from attendees."
    },
    "html_link": {
      "type": "string",
      "description": "URL to view the event in the provider's web interface."
    },
    "ical_uid": {
      "type": "string",
      "description": "Unique iCalendar identifier for the event."
    },
    "id": {
      "type": "string",
      "description": "Unique identifier for the event."
    },
    "location": {
      "type": "string",
      "description": "Location of the event."
    },
    "object": {
      "type": "string",
      "description": "Object type identifier.",
      "enum": [
        "event"
      ]
    },
    "metadata": {
      "type": "object",
      "description": "Key-value pairs of custom metadata attached to the event. Events that Nylas Scheduler creates include Scheduler-stamped entries: `source` (always `scheduler`), `key5` (the Scheduler Configuration ID), and `scheduler_last_start`, `scheduler_last_end`, and `scheduler_updated_at` (Unix timestamps, as strings, that record the meeting time Scheduler most recently set).",
      "additionalProperties": {
        "type": "string"
      }
    },
    "occurrences": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Event IDs of modified occurrences in a recurring series (Google only). Omitted when not applicable."
    },
    "organizer": {
      "type": "object",
      "description": "The organizer of the event.",
      "properties": {
        "email": {
          "type": "string",
          "description": "Organizer's email address."
        },
        "name": {
          "type": "string",
          "description": "Organizer's display name."
        }
      }
    },
    "participants": {
      "type": "array",
      "description": "List of event participants.",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Participant's email address."
          },
          "name": {
            "type": "string",
            "description": "Participant's display name."
          },
          "status": {
            "type": "string",
            "description": "RSVP status of the participant.",
            "enum": [
              "yes",
              "no",
              "maybe",
              "noreply"
            ]
          }
        }
      }
    },
    "read_only": {
      "type": "boolean",
      "description": "Whether the event is read-only for the authenticated user."
    },
    "recurrence": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "RRULE strings defining the recurrence pattern."
    },
    "reminders": {
      "type": "object",
      "description": "Reminder settings for the event.",
      "properties": {
        "overrides": {
          "type": "array",
          "description": "Custom reminder overrides.",
          "items": {
            "type": "object"
          }
        },
        "use_default": {
          "type": "boolean",
          "description": "Whether to use the calendar's default reminders."
        }
      }
    },
    "resources": {
      "type": "array",
      "description": "Resources (rooms, equipment) booked for the event.",
      "items": {
        "type": "object"
      }
    },
    "status": {
      "type": "string",
      "description": "Confirmation status of the event.",
      "enum": [
        "confirmed",
        "tentative",
        "cancelled"
      ]
    },
    "title": {
      "type": "string",
      "description": "Title of the event."
    },
    "updated_at": {
      "type": "integer",
      "description": "Unix timestamp when the event was last updated."
    },
    "visibility": {
      "type": "string",
      "description": "Visibility of the event.",
      "enum": [
        "default",
        "public",
        "private",
        "confidential"
      ]
    },
    "when": {
      "type": "object",
      "description": "Time details for the event. The fields present depend on the `object` subtype: `timespan` has `start_time`/`end_time`/`start_timezone`/`end_timezone`; `datespan` has `start_date`/`end_date`; `date` has `date`; `time` has `time`/`timezone`.",
      "properties": {
        "object": {
          "type": "string",
          "description": "Time object type.",
          "enum": [
            "timespan",
            "datespan",
            "date",
            "time"
          ]
        },
        "start_time": {
          "type": "integer",
          "description": "Unix timestamp when the event starts. Present for `timespan`."
        },
        "end_time": {
          "type": "integer",
          "description": "Unix timestamp when the event ends. Present for `timespan`."
        },
        "start_timezone": {
          "type": "string",
          "description": "IANA timezone for the start time. Present for `timespan`."
        },
        "end_timezone": {
          "type": "string",
          "description": "IANA timezone for the end time. Present for `timespan`."
        },
        "start_date": {
          "type": "string",
          "description": "Start date in `YYYY-MM-DD` format. Present for `datespan`."
        },
        "end_date": {
          "type": "string",
          "description": "End date in `YYYY-MM-DD` format. Present for `datespan`."
        },
        "date": {
          "type": "string",
          "description": "Date in `YYYY-MM-DD` format. Present for `date`."
        },
        "time": {
          "type": "integer",
          "description": "Unix timestamp for a point-in-time event. Present for `time`."
        },
        "timezone": {
          "type": "string",
          "description": "IANA timezone. Present for `time`."
        }
      }
    }
  },
  "x-nylas-trigger": "event.updated",
  "x-nylas-category": "Events",
  "x-provenance": {
    "method": "authored",
    "publisher": "Nylas",
    "source": "https://developer.nylas.com/docs/reference/notifications/events/event-updated/",
    "derived_from": "nylas/developer.nylas.com@a7995fb6:src/_component-data/notification-schemas.json",
    "generated": "2026-09-28"
  },
  "examples": [
    {
      "account_id": "<NYLAS_V2_ACCOUNT_ID>",
      "busy": true,
      "calendar_id": "<CALENDAR_ID>",
      "cancelled_occurrences": [
        "<EVENT_ID>"
      ],
      "conferencing": {
        "details": {
          "url": "<MEETING_URL>"
        },
        "provider": "<PROVIDER>"
      },
      "created_at": 1732573232,
      "description": "Weekly one-on-one.",
      "grant_id": "<NYLAS_GRANT_ID>",
      "hide_participants": false,
      "html_link": "<EVENT_LINK>",
      "ical_uid": "<ICAL_UID>",
      "id": "<EVENT_ID>",
      "location": "Room 103",
      "object": "event",
      "metadata": {
        "key1": "all-meetings",
        "key2": "on-site"
      },
      "organizer": {
        "email": "nyla@example.com",
        "name": "Nyla"
      },
      "participants": [
        {
          "email": "leyahe@example.com",
          "name": "Leyah Miller",
          "status": "noreply"
        }
      ],
      "read_only": false,
      "recurrence": [
        "RRULE:FREQ=WEEKLY;UNTIL=20241219T000000Z;BYDAY=TH"
      ],
      "reminders": {
        "overrides": [],
        "use_default": true
      },
      "resources": [],
      "status": "confirmed",
      "title": "One-on-one",
      "updated_at": 1732575179,
      "visibility": "public",
      "when": {
        "end_time": 1732811400,
        "end_timezone": "EST5EDT",
        "object": "timespan",
        "start_time": 1732809600,
        "start_timezone": "EST5EDT"
      }
    }
  ]
}