Skip to content

micronode/jotapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jot API

An open API for collaboration based on the iCalendar specification

Overview

Many existing calendaring systems benefit from interoperability specificiations such as iCalendar. These standards make it possible to schedule meetings, appointments and reminders in the same open way in which the email standards allow us to communicate.

However when it comes to data management similar standards are not as widespread. CalDAV is a popular mechanism for synchronizing iCalendar data with calendar servers, however this can be challenging to support in web applications, and typically may require an intermediate API for data translation.

Jot is an API for calendar data management based on the iCalendar specifications. As iCalendar is primarily an interopability specification, some of the concepts may not be directly applicable to data persistence. However there is a need to store the majority of the information contained in an iCalendar object, and this API provides both REST-based APIs and payload specifications for persisting calendar data.

APIs

REST is a common approach used for open APIs, and is based on the verbs described in the HTTP specification. The following endpoints and HTTP verbs are included in the Jot API:

/calendars

/calendar/{Uid}

/events

  • GET
  • POST

/event/{Uid}

  • GET
  • PUT
  • PATCH
  • DELETE

/todos

  • GET
  • POST

/todo/{Uid}

  • GET
  • PUT
  • PATCH
  • DELETE

/journals

  • GET
  • POST

/journal/{Uid}

  • GET
  • PUT
  • PATCH
  • DELETE

/freebusy

  • GET

/availability

  • GET
  • POST

/availability/{Uid}

  • GET
  • PUT
  • PATCH

/alarms

  • GET
  • POST

/alarm/{Uid}

  • GET
  • PUT
  • PATCH
  • DELETE

/attachments

  • GET
  • POST

/attachment

  • GET
  • PUT
  • DELETE

Models

In addition to API endpoints Jot API provides data models for transferring payloads to/from the underlying API implementation. Initially these models are direct translations from the iCalendar specification, however in future other data representations such as jCal and JSCalendar may also be supported.

About

A collection of APIs based on open interoperability specifications

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published