---
title: "Send RSVP"
method: POST
path: "/v3/grants/{grant_id}/events/{event_id}/send-rsvp"
tags: ["Events"]
---

# Send RSVP

`POST /v3/grants/{grant_id}/events/{event_id}/send-rsvp`

## Request

- Base URL: `https://api.us.nylas.com`
- URL: `https://api.us.nylas.com/v3/grants/{grant_id}/events/{event_id}/send-rsvp`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

(Not supported for iCloud) Sends a response to an event that you're added to as a participant. You
can't directly update events as a participant.

For most events on EWS, if you decline the event by sending a "no" RSVP response, it's removed from
your calendar. If an EWS administrator disabled the option to remove declined events from calendars,
the event remains on the calendar with the "no" RSVP status.

Due to a provider limitation, Microsoft Graph might not update the event status properly.

Google allows the meeting organizer to reply "yes", "maybe", and "no" to event invitations. However,
other providers do not allow meeting organizers to reply to their own event.

Nylas sends calendar RSVPs to the event organizer as email updates.
This can duplicate the RSVP email sent by the calendar provider.
If you want to stop Nylas from sending the RSVP email, 
you can set the `skip_nylas_email` field to `true` in the query parameters.

If your application does not implement the
[scopes that allow you to send messages](/docs/dev-guide/scopes/#email-api-scopes), Nylas updates
the RSVP for the event and returns a `200` with an error message. Event participants on the same provider
will see the update, but participants on other providers will not.

## Query parameters

- `calendar_id` string, required
- `skip_nylas_email` boolean

## Request body

- EventSendRsvp
  - `status` 'yes' | 'no' | 'maybe': A participant's RSVP status for the event.

## Response `200`

Send-RSVP Response

- object
  - `request_id` string: The request ID.
  - `data` object: The response object.
    - `send_ics_error` object: If an error occurs while sending an updated ICS file to the organizer of an event, Nylas returns an error message in this field. The event is still updated, but the ICS file is _not_ sent to the organizer.
      - `type` string: The type of error that occurred.
      - `message` string: A human-readable message with details about the error.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `429`: Rate limited. The provider or Nylas throttled the request. If a provider throttles a request and says how long to wait, the `Retry-After` header gives that number of seconds. When the header is missing, retry with exponential backoff. See [429 rate limit errors by provider](/docs/api/errors/400-response/#429-rate-limit-errors-by-provider).
- `504`: Provider Failure

## Changes

- **2026-09-26** `763d6b969cd7`: 1 info
  - added the optional property `error/provider_error` to the response with the `429` status

[Operation history](https://skmtc.dev/nylas/apis/nylas-api/changes/v3/grants/:grant_id/events/:event_id/send-rsvp/post.md)

---

[API](https://skmtc.dev/nylas/apis/nylas-api.md) - [All operations](https://skmtc.dev/nylas/apis/nylas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nylas/apis/nylas-api/revisions/7782a3e3ab70?raw)
