ドキュメント本文へスキップ
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 は最大 5 件の { minutesBefore } を受け取る。

リファレンス