Calendar

Create a calendar event

post/calendar/events

Request

  • Base URL: https://shipmail.to/api/v1
  • URL: https://shipmail.to/api/v1/calendar/events
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://shipmail.to/api/auth/oauth2/authorize, token URL https://shipmail.to/api/auth/oauth2/token)

Headers

X-Shipmail-Organizationstring

OAuth access tokens only. The organization ID this request acts on. Required when the OAuth connection was approved for several organizations (400 validation_error without it); optional with one. An organization the connection was not approved for returns 403 authorization_error. Ignored for API keys, which belong to one organization.

Request body

mailboxstring email required

The mailbox (calendar owner) address.

calendar_idstring

Target calendar. Defaults to the mailbox's default calendar.

titlestring required
invitation_language'en' | 'fr' | 'es'

Language used for invitation, update, cancellation, and RSVP interface copy.

startstring required

Local date-time (YYYY-MM-DDTHH:MM:SS). Its zone is given by timezone.

descriptionstring
timezonestring

IANA time zone the start is defined in.

durationstring

ISO 8601 duration, e.g. PT1H. Defaults to one hour.

all_dayboolean
locationstring
video_urlstring uri
colorstring
status'confirmed' | 'tentative' | 'cancelled'
free_busy_status'free' | 'busy'
privacy'public' | 'private' | 'secret'
operation_keystring

Stable retry key for this exact create payload.

send_invitationsboolean

Send invitations to attendees.

Response

Calendar event created.

object'calendar_event' required
idstring required
revisionstring required

Content revision to pass as expected_revision on a later update.

mailboxstring email required

The mailbox (calendar owner) address.

calendar_idstring nullable required
uidstring nullable required
titlestring nullable required
invitation_language'en' | 'fr' | 'es' required

Language used for Shipmail invitation, update, cancellation, and RSVP interface copy.

descriptionstring nullable required
locationstring nullable required
video_urlstring nullable required

Video/conference join URL (JSCalendar virtualLocation).

all_dayboolean required
startstring required

Timed events: a UTC instant. All-day events: a YYYY-MM-DD date.

endstring required

Timed events: a UTC instant. All-day events: the exclusive end date.

timezonestring nullable required

The event's own IANA time zone. Null for all-day or floating events.

durationstring nullable required

ISO 8601 duration, e.g. PT1H.

status'confirmed' | 'tentative' | 'cancelled' nullable required
free_busy_status'free' | 'busy' nullable required
privacy'public' | 'private' | 'secret' nullable required
colorstring nullable required
recurrence_idstring nullable required

Set on an expanded recurrence instance.

created_atstring date-time nullable required
updated_atstring date-time nullable required
invitation_failuresstring[] required

Compatibility list of failed and unknown recipients.

Changes

No recorded changes to this operation across all 1 revision of this API.