문서로 건너뛰기
API

일정 만들기

일정을 캘린더에 넣고 참석자를 초대합니다. 앱의 새 일정과 같습니다.

POST/calendar/events

워크스페이스에 실제 호출을 실행합니다.

POST /calendar/events

일정을 캘린더에 넣고 참석자를 초대합니다. 앱의 새 일정과 같습니다.

예시

calendar:write가 필요하며, 일정에 참석자가 있으면 각 참석자가 from에서 이메일로 초대를 받으므로 emails:send도 필요합니다.

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]"}'
응답
{  "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은 키가 보낼 수 있는 주소여야 하며, 아니면 호출은 403 from_address_forbidden입니다. 참석자가 있는데 from이 없는 일정은 sendInvites가 false가 아니면 422 invalid_parameter입니다.

recurrence는 FREQ=WEEKLY;BYDAY=MO 같은 RRULE을, reminders는 최대 다섯 개의 { minutesBefore }를 받습니다.

레퍼런스