/entries GET

Returns a list of entries for the default ‘context’ of a new session in Tempo. The basic gist here is that the entries you’ll get back from calling GET on /entries will just be for the last week, and just for the current user. Results are paginated.

/entries POST

Enables you to create a new time or timer entry.

If you want to create a new entry, you might supply a piece of XML like this:

  <notes>client meeting in NYC to discuss project requirements</notes>
  <tag-s>meetings discovery</tag-s>

By using our text-entry syntax this would get even simpler:

  <command>client meetings in NYC to discuss project requirements #project_name @meetings @discovery</command>

Not all fields may be updated directly; these are:

:created_at, :creator_id, :id, :is_locked, :is_timing, :source, :updated_at

/entries/new GET

Simply produces an XML document providing default values for a new entry for the current user. Not required for creating an entry, but probably instructive, and helpful in that it provides some defaults you may wish to use.

/entries/:id GET

Request an entry by ID, i.e. /entries/1024.

/entries/:id PUT

Allows you to update an entry by posting an entry object to the collection member, i.e. /entries/1024.

For the list of attributes that may not be updated, see /entries POST.

/entries/:id DELETE

Allows you to delete an entry by ID.

/entries/:id/edit GET

Supplies a description of the entry object in its current state.

/entries/:id/lock POST

Allows you to lock an entry.

/entries/:id/unlock POST

Allows you to unlock an entry.

/entries/:id/start POST

Causes the entry to start a timer. Will cause any other running timer to stop, as a consequence. Timing is additive, so any time logged will be added to the current value stored in hours when the timer is stopped.

/entries/:id/stop POST

Stops an entry's timer. Timing is additive, so stopping the timer causes the time to be added to the value already present in the entry's hours attribute.