Saltar para a documentação
API

Criar um evento

Coloca um evento no calendário, como faz Novo evento na app, e convida os participantes.

POST/calendar/events

Executa a chamada real no seu espaço de trabalho.

POST /calendar/events

Coloca um evento no calendário, como faz Novo evento na app, e convida os participantes.

Exemplo

Requer calendar:write, e também emails:send quando o evento tem participantes, porque cada um recebe um convite por email a partir de from.

curl
curl -X POST "$OE/calendar/events" -H "$AUTH" -H 'content-type: application/json' -d '{  "summary": "Planning",  "start": "2026-10-12T09:00:00Z",  "end": "2026-10-12T09:30:00Z",  "timezone": "Europe/London",  "recurrence": "FREQ=WEEKLY;BYDAY=MO",  "attendees": [{ "email": "[email protected]", "name": "Ada" }],  "reminders": [{ "minutesBefore": 10 }],  "from": "[email protected]"}'
Resposta
{  "object": "calendar_event",  "id": "cal_3f9a1c7e5b2d48a06c1e9f4b",  "uid": "5d2c8e1a-7b3f-4c9d-a6e2-1f8b0c4d7e93@openemail",  "sequence": 0,  "summary": "Planning",  "description": null,  "location": "Room 2",  "url": null,  "start": "2026-10-12T09:00:00.000Z",  "end": "2026-10-12T09:30:00.000Z",  "allDay": false,  "timezone": "Europe/London",  "recurrence": "FREQ=WEEKLY;BYDAY=MO",  "exdates": [],  "status": "CONFIRMED",  "transparency": "OPAQUE",  "visibility": "PUBLIC",  "organizer": { "email": "[email protected]", "name": null },  "isOrganizer": true,  "source": "local",  "messageId": null,  "threadId": null,  "alarms": [{ "minutesBefore": 10, "action": "DISPLAY" }],  "attendees": [    {      "object": "calendar_attendee",      "email": "[email protected]",      "name": "Ada",      "partstat": "NEEDS-ACTION",      "role": "REQ-PARTICIPANT",      "rsvp": true,      "cutype": null,      "respondedAt": null    }  ],  "createdAt": "2026-10-02T14:03:11.000Z",  "updatedAt": "2026-10-02T14:03:11.000Z"}

from tem de ser um endereço a partir do qual a chave pode enviar, ou a chamada dá 403 from_address_forbidden. Um evento com participantes e sem from dá 422 invalid_parameter, a menos que sendInvites seja false.

recurrence aceita uma RRULE como FREQ=WEEKLY;BYDAY=MO, e reminders até cinco { minutesBefore }.

Referência