Overview

Update

This document was recently updated to reflect changes in our API. There may be mistakes, please don’t hesitate to get in touch and ask for help or clarifications.

Introduction

We have exposed an Application Programming Interface (API) so that anyone who is so inclined can create alternative interfaces to Tempo or integrate Tempo with an external service. This document describes how to connect to the API and what resources and methods are available.

N.B.: The introduction of sub-domains to all accounts means that you are required to use your subdomain in all requests to the API, e.g. my_company.keeptempo.com.

Requirements

Here’s an example of such a request, using curl:

curl -X GET -H ‘Accept: application/xml’ -H ‘Content-Type: application/xml’ \
—user mylogin:mypassword https://hotdogzllc.keeptempo.com/entries

Since all Tempo accounts support SSL, it would be prudent of you to connect using https when accessing the API to protect your password from prying eyes.

RESTful Resources

All end-points in our API are REST-style resources, supporting the usual set of GET, PUT, POST and DELETE operations at RESTful URLs. This means you should be able to use a framework like ActiveResource to interact with our API.

Note: As of 17-FEB-09, we’ve gone back to including “type” attributes in our XML output. You don’t need to include type attributes on your incoming data (except in some instances, see the context search section below), but it can’t hurt for non-string data.

Getting Help

We’re putting a significant amount of work into improving our API and the documentation to encourage our customers to use it. While you are welcome to contact us directly with your questions, we encourage you to join the mailing list to share your problem with us and other consumers of the API, to receive email notices about any forthcoming API changes, and to participate in any requests for comment.

To join the mailing list, simply send a blank email to tempo.api@librelist.com and you will be sent a confirmation message. Once you reply to the confirmation message, you can post away! We’re looking forward to your participation.

Librelist is a new mailing list service that offers us an alternative to the spam-deluged world of Google Groups.

Change Notifications

We think that an API shouldn’t change much, but sometimes change is inevitable. In any event, we feel that it’s bad form to simply change an API without any notice. With that in mind, we plan on publishing advisories about changes we intend to make to our blog and to the mailing list well in advance. Please subscribe to one of these channels to receive such notices. In addition, participating in the mailing list gives you an opportunity to comment on changes that we are considering.