---
title: "Answer an invitation"
description: "Accepts, declines or tentatively accepts an invitation, and tells the organiser."
url: "https://openemail.uk/docs/api/calendar/respond"
area: "API"
category: "Mailbox"
---

# Answer an invitation

Accepts, declines or tentatively accepts an invitation, and tells the organiser.

`POST /calendar/events/{id}/respond`

## POST /calendar/events/{id}/respond

Accepts, declines or tentatively accepts an invitation, and tells the organiser.

## Example

Needs `calendar:write` and `emails:send`. `response` is `ACCEPTED`, `DECLINED` or `TENTATIVE`.

**curl**

```
curl -X POST "$OE/calendar/events/cal_7b2e4d9a1c6f30e85d2a7b41/respond" -H "$AUTH" -H 'content-type: application/json' -d '{ "response": "ACCEPTED" }'
```

**Response**

```
{
  "object": "calendar_event",
  "id": "cal_7b2e4d9a1c6f30e85d2a7b41",
  "summary": "Quarterly review",
  "organizer": { "email": "lin@partner.example", "name": "Lin" },
  "isOrganizer": false,
  "attendees": [
    {
      "object": "calendar_attendee",
      "email": "team@acme.com",
      "name": null,
      "partstat": "ACCEPTED",
      "role": "REQ-PARTICIPANT",
      "rsvp": true,
      "cutype": null,
      "respondedAt": "2026-10-02T14:20:05.000Z"
    }
  ]
}
```

> The answer goes by email from the invited address the key may send as. When the invitation went to more than one of yours, `respondingAs` picks which, and an event that invited none of them is a 403 `not_invited`.

> A cancelled meeting is a 409 `event_cancelled`, and when the organiser cannot be reached nothing changes and the call is a 409 `reply_not_sent`.

## Reference

- [`POST /calendar/events/{id}/respond`](https://openemail.uk/docs/api/reference/calendar#post-calendar-events-id-respond): full reference
