Home/Calendar

Developers' API

To begin with, to use the API you need to know your unique user key (also known as guid)

You will get a guid once you've created some events in the calendar or if you have created an account and logged in.

To get your events

URL: /api/events[.json|.xml|.txt]?guid=$guid&start=$timestamp_start&end=$timstamp_end

Example:

$ curl "http://donecal.com/api/events.json?guid=6a971ed0-7105-49a4-9deb-cf1e44d6c718&start=1409529600&end=1412035200"
{"events": [...]}

Note: The format (.json, .xml or .txt) is optional and defaults to .json if omitted.

Optional parameters:

  • include_tags
    • all - will include a list of all your tags
    • yes - will include a list of all tags matched in the interval supplied
  • shares
    • example 6e5b6de - will include all non-editable events of that share key
    • another example 6e5b6de,b322n0 - multiple share keys comma separated

To post an event

URL: /api/events[.json|.xml|.txt]?guid=$guid&title=$title&date=$timestamp_date&all_day=$bool
or...
/api/events[.json|.xml|.txt]?guid=$guid&title=$title&start=$timestamp_start&end=$timestamp_end[&all_day=$bool]

Example:

$ curl -X POST -d guid=6a971ed0-7105-49a4-9deb-cf1e44d6c718 -d title="@api test" -d date=1409529600 -d all_day=true \
http://donecal.com/api/events
{"event": {"start": 1409529600,
"end": 1409529600,
"id": "4cb4f9f16da681526e000004",
"allDay": true},
"tags": ["@api"]}

Note: The format (.json, .xml or .txt) is optional and defaults to .json if omitted.

Read more: About using Python, About rules for posting