Find file
Fetching contributors…
Cannot retrieve contributors at this time
85 lines (53 sloc) 2.75 KB

TeuxDeux (unofficial API)

This library acts as a client for the unofficial TeuxDeux API.


Teuxdeux recently switched to a new version. The API documented and implemented here is not working anymore. I was not yet able to work on a fix, but I was assured by the teuxdeux developer that there will be an official API soon.

With it you can do all the things the webinterface can do:

  • fetch your todos
  • create new todos
  • update your todos
  • delete your todos

See the API documentation for more information about the returnend data.

Build Status: Travis CI Build Status


Create new client

client = :login => "mail", :password => "secret"

Get user data

=> <#Hashie::Rash email="mail" id=42 login="name" time_zone="Berlin" utc_offset=60>

Get todos

=> [<#Hashie::Rash do_on="2011-05-26" done=false id=10601581 position=0 todo="create awesome teuxdeux client" updated_at=1306353624 user_id=42>, ...]

Get "someday" todos

=> [<#Hashie::Rash do_on="1989-12-01" done=false id=10601582 position=0 todo="be awesome" updated_at=1298486839 user_id=42>, ...]

Create todo item

client.create_todo("get freaky!", "2011-06-01")
=> [<#Hashie::Rash do_on="2011-06-01" done=false id=10601583 position=0 todo="get freaky!" updated_at=1306360182 user_id=42>, ...]

Update todo item

client.update_todo(10601581, :done => true)
=> [<#Hashie::Rash do_on="2011-05-26" done=true id=10601581 position=0 todo="create awesome teuxdeux client" updated_at=1306360182 user_id=42>, ...]

Delete todo item

=> true


This TeuxDeux API client was developed as an reference implementation of the unofficial TeuxDeux API.

The API documentation was possible thanks to mislav's instagram docu and his post about how he did the reasearch.

The code is heavily inspired by the awesome Octokit, a ruby wrapper for the GitHub API.


If there are bugs or missing features, please let me know. I would like to accept pull-requests.

As this is just the API client, what we now need is some alternative interfaces. I definitely need a solution for my Android phone. I'm not sure if I should stick with a web app or if I should create a native app.

If you want to help with either of this or just have additional questions or another implementation, contact me.