📆
VRChatAPI経由でCalendar Eventを作成する時の落とし穴
問題
VRChat API Specification (非公式)の "Create a calendar event" では、以下のように例を上げています(1.20.7, 2026/2/6現在)
curl -X POST "https://api.vrchat.cloud/api/1/calendar/grp_00000000-0000-0000-0000-000000000000/event" \
--cookie "auth=" \
-H "Content-Type: application/json" \
-d '{
"title": "Performance Event!",
"startsAt": "2019-08-24T14:15:22Z",
"description": "string",
"endsAt": "2019-08-24T14:15:22Z",
"category": "performance",
"sendCreationNotification": false,
"accessType": "public"
}'
(Cookieなどはもちろん必要ですが)しかし、このようにPOSTすると、イベント自体は問題なく作成されますが、カレンダー画面( https://vrchat.com/home/calendar )には表示されません。
原因探し
同時期にGroupのページからもイベントが見えなかったり、削除できなかったりでしたので、おそらくVRChat側の問題でしょうと思いました。
しかし、このIssueが修正された後でも、カレンダーにも表示されませんでした。
手動でWeb側で作ったものは問題なく表示されますので、DevToolsで実際のRequestを確認したところ、
"isDraft": false
"featured": false
とありました
そういえばイベント実装された当初は「下書き」という概念がありましたので、もしかしたらそれが原因だったかもしれません
解決策
VRChatAPIを使う場合、isDraftとfeaturedを明示的にFalseと設定する必要がある。
(featuredはおそらく公式イベント用のフラグ?)
Discussion