Presdo API
Introduction
The Presdo API provides a very simple way for web developers to create integrations with Presdo and their favorite web services, applications and even mobile devices.
With the API, web developers can create Presdo events through a programmatic interface. The API allows you to specify all the details of an event, such as the time or possible times, guests, location and description. After an event is created, notifications can even be sent automatically to guests. Event participants can then use all of Presdo’s capabilities to negotiate the final details of the event.
Many integrations are possible with this relatively simple API. For example, the Presdo Doodad was created using the Presdo API.
The following are some examples of integrations that the Presdo API enables, but there are sure to be many more which we have not thought of:
- Twitter integration
- Facebook application
- Mac Dashboard widget
- And many more...
Creating Events
With the API, it’s very simple to create a Presdo event. Let’s start with an example:
http://api.presdo.com/events/create?phrase=breakfast+with+amy@sparkle.com&description=Let's+catch+up!
The above URL creates a breakfast event with a guest having an email address of amy@sparkle.com. After the event is created, the user is taken to the event page that looks like the following:

Who’s the sender, you ask? Presdo creates an event assuming the current session user. In the browser context, this is the user who was last signed into Presdo. If a user has previously signed in and his session is still valid, the event will be created assuming that he is the event organizer. If a user has a persistent “remember me” cookie stored in his browser, he will also become the organizer of new events. (There is currently no way to authenticate a certain user using the API.)
If no such user has signed in, Presdo creates a temporary event, and the user must either sign in or sign up for Presdo to claim the event before sending invites.
Once again, to create an event, invoke the following URI with either a GET or POST action:
http://api.presdo.com/events/create?<parameters>
The following parameters are accepted:
phrase - anything you can type on the Presdo home page will be accepted for this parameter. See here for the phrases that Presdo recognizes.
About locations: when supplying a location that includes a name and address, there are a couple ways to disambiguate the name and address within a location, since it is not always possible to determine whether a sub-phrase is a name or address. For example, “SFO, San Francisco, CA”. You can use either of the following formats to distinguish between the name and address: “at name; address” or “at name (address)”.
title - an optional parameter that lets you override the event’s title. The event title is usually generated automatically from the phrase used to create the event. In most cases, the generated title is good enough, so you don’t need to supply a title unless you want to override it.
At least one of the phrase or title parameters must be supplied for the event to be successfully created.
- description - an optional parameter that allows you to enter the description of the event. Please note that this is not the event title, but the more detailed description of the event which can be provided to event guests. The description is also included in the initial email notifications to guests.
Please ensure as much as possible that the input parameters that your application generates will result in a properly validated event.
Recall also that all parameters values must be URL encoded. The encodeURIComponent() JavaScript function provides a convenient way to do this.
Note that in almost all cases, the user is redirected to an event page when you invoke the above URI, and in some cases, errors associated with invalid information is displayed on the event page.
Limits
Presdo observes certain limits on the creation of events. For example, every user is limited to 100 active events, and each event is limited to 100 people. An “active event” is defined as an event that has not already passed. Every event can include 99 guests, since the organizer is always part of the event.
If you have an integration which would benefit from increased limits, please contact us. We would be happy to discuss your ideas with you.
Badges
If you publish your integration with the Presdo API, all we ask (and require) is that you include one of our logos somewhere on your integration where it’s visible to users. Here are some logos you can use!
Resources
Finally, we’re here to help! Contact us if you have questions or feedback regarding the API.
At some point, we will set up a Google Group to enable developers to discuss issues related to the API. Please contact us and let us know if this is something you would be interested in.
End Notes
Insightful developers will realize that there are many limitations to the current version of the API. Do not be discouraged! Even though the API is very simple, it already enables you to create events for many interesting and different types of applications. We have envisioned many possibilities, but the wisdom of crowds will envision even more.
Because the API enables events to be created programmatically, it also enables you to enact potentially very different user interfaces for event creation, not only ones that are strictly text-based like the one Presdo has.
At the same time, the API very much a work in progress, so we encourage you to write in and let us know how it should be improved so it can support the kinds of interactions you want.
Finally, we encourage you to be creative and think “out of the box” when using the Presdo API. What will you come up with?

