# Guest RSVP changed

**Event:** `onair.guest.rsvp`

## Description

A guest's RSVP status has changed for an On-Air event.

**Event name:** `onair.guest.rsvp`

**Required scope:** `onair:read`

## Webhook Payload

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `type` | "onair.guest.rsvp" | No | The event type. |
| `event` | OnAirEvent | No |  |
| `guest` | OnAirGuest | No |  |

**OnAirEvent**:

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the event. |
| `title` | string | Yes | Title of the event. |
| `description` | string | No | Description of the event. |
| `slug` | string | Yes | URL-friendly slug for the event. |
| `start` | string | Yes | Start time of the event (RFC 3339). |
| `end` | string | Yes | End time of the event (RFC 3339). |
| `timeZone` | string | Yes | IANA time zone identifier (e.g. `America/New_York`). |
| `eventPageUrl` | string | Yes | Public URL of the event page. |
| `joinLinkUrl` | string | No | URL for joining the event. |
| `enableSEO` | boolean | Yes | Whether the event page is indexed by search engines. |
| `autoAdmit` | boolean | Yes | Whether guests are automatically admitted when they join. |
| `disableRSVP` | boolean | Yes | Whether RSVPs are disabled for this event. |
| `hosts` | OnAirHost[] | Yes | List of hosts for the event. |

**OnAirHost** (array item):

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the host. |
| `name` | string | No | Display name of the host. |
| `imageUrl` | string | No | URL of the host's profile image. |

**OnAirGuest**:

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the guest. |
| `eventId` | string | Yes | Identifier of the event this guest belongs to. |
| `email` | string | No | Email address of the guest. |
| `name` | string | No | Display name of the guest. |
| `phone` | string | No | Phone number of the guest. |
| `status` | "invited" | "going" | "maybe" | "notGoing" | Yes | RSVP status of the guest. |
| `created` | string | No | When the guest was added (RFC 3339). |
| `updated` | string | No | When the guest record was last updated (RFC 3339). |

### Example Payload

```json
{
  "type": "onair.guest.rsvp",
  "event": {
    "id": "evt_abc123",
    "title": "Q1 All Hands",
    "slug": "q1-all-hands",
    "start": "2026-04-01T14:00:00Z",
    "end": "2026-04-01T15:00:00Z",
    "timeZone": "America/New_York",
    "eventPageUrl": "https://ro.am/e/q1-all-hands",
    "enableSEO": true,
    "autoAdmit": false,
    "disableRSVP": false,
    "hosts": []
  },
  "guest": {
    "id": "gst_xyz789",
    "eventId": "evt_abc123",
    "email": "alice@example.com",
    "name": "Alice Johnson",
    "status": "going",
    "created": "2026-03-15T10:00:00Z",
    "updated": "2026-03-20T14:30:00Z"
  }
}
```

---

*Machine-readable API documentation.*
*Full documentation: https://developer.ro.am/docs/webhooks-v0-dev/onair-guest-rsvp*
