Skip to content

Overview

Calendars, events, invitations and iCalendar feeds for the Optiwork suite.

The Optiwork Calendar API covers the scheduling surface of the Optiwork suite: the calendars a user owns or has been given access to, the events inside them, the invitations attendees answer, the recurring-event exceptions that let a single occurrence differ from its series, and the directory lookups that turn a name into someone you can invite.

Base URL

All endpoints are served under the fixed Calendar host: https://calendar.work.optidata.cloud/api.

Authentication

Every endpoint requires a Bearer JWT passport, except GET /ping and the iCalendar feed, which carries its own token in the path. Your personal passport is available in Optiwork at https://work.optidata.cloud/user/settings/security (My account > Profile > Security), where it is shown as the authentication key. Send it on every request:

Authorization: Bearer opk_xxxxxxxxxxxxxxxxxxxxxxxx
Accept: application/json

Passports are short-lived; when a request returns 401, get a fresh authentication key from the same settings page and retry.

Conventions

  • A calendar is addressed by its id, a string of digits. A calendar shared with you by another user is additionally identified by a sharedId of the form {ownerZid}:{calendarId}.
  • An event is a container; the schedule itself lives in its instances. A one-off event has exactly one instance. A recurring event returns one instance per occurrence in the requested window.
  • invId, ms and rev are the optimistic-concurrency triple. Read them from the event you fetched and send them back unchanged when you update it; a stale triple means somebody else changed the event first.
  • Timestamps are ISO-8601 with an offset (e.g. 2026-08-24T14:00:00-03:00). Values you send are interpreted in the calling user’s display time zone unless they carry an explicit offset.
  • An all-day event spans whole days: send midnight-to-midnight bounds and set is_all_day to true.
  • Validation failures return 422 with a per-field errors map. Failures raised further down — a calendar or event that cannot be read — also return 422, but with an { "error", "status", "help" } envelope.
  • Requests are rate limited per authenticated user; exceeding the limit returns 429.

The authentication key (JWT passport) from My account > Profile > Security at work.optidata.cloud/user/settings/security.

Security scheme type: http

Bearer format: JWT