MyChores API

The MyChores Application Programming Interface (API) allows external programmers to interact with the MyChores database. At the moment it is still work-in-progress.

An application sends its request via a URI, and MyChores responds with the result. The result may be in XML or JavaScript Object Notation (JSON) depending on the format requested. For most resources the application will need to autheticate using HTTP Basic Authentication so that the MyChores API knows who is making the request. The only current exception is Site Statistics.

Resources

Resource name Links Auth? Method Parameters
Site Statistics
Gives some site-wide information, such as total number of people registered, tasks, teams and timezones. Also tells you how many tasks have been completed in the last day, seven days, and current month.
XML
JSON
No GET None
Verify credentials
May be used as a way to verify that the correct credentials were entered. Returns a 200 OK if valid, or a 401 Unauthorized if not.
XML
JSON
Yes GET None
Person details
Used without paramaters it indicates who is currently authenticated. Used with a paramater it can give details of a different person. Returns a 404 Not Found if the paramater does not specify a valid person.
XML
JSON
Yes GET
  • login (optional) - look up a person from their login id, eg sermoa.
  • id (optional) - look up a person from their id in the database, eg 1.
All tasks
Brings back a list of all tasks in the teams of the currently authenticated person. By default ordered by due date.
XML
JSON
Yes GET
  • order_by (optional) - use 'date' or 'importance' (assumed 'date' by default)
  • per_page (optional) - the number of tasks you want returned at a time (20 by default)
  • page (optional) - the page number you want returned (1 by default)
My tasks
Brings back a list of tasks specifically assigned to the currently authenticated person, or any tasks in their teams not assigned to anybody in particular. By default ordered by due date.
XML
JSON
Yes GET
  • order_by (optional) - use 'date' or 'importance' (assumed 'date' by default)
  • per_page (optional) - the number of tasks you want returned at a time (20 by default)
  • page (optional) - the page number you want returned (1 by default)
Today's tasks
As with 'My tasks' (see above) but only tasks due today, not including overdue tasks.
XML
JSON
Yes GET
  • per_page (optional) - the number of tasks you want returned at a time (20 by default)
  • page (optional) - the page number you want returned (1 by default)
Task details
Returns details about a task, provided the currently authenticated person is a member of that task's team. If not, a 404 Not Found is returned.
XML
JSON
Yes GET
  • id (required) - the id of task to return