Taskbarn API Documentation

Introduction

Certain elements of Taskbarn are open for developers to use in non-commercial applications (and commercial applications, by request only). This document will provide a basic overview of the API's functionality and give some examples of its usage.

Overview

Requests to the API follow the REST method. It's quite simple, really: You, the developer, craft an HTTP request (using either POST/GET) and we will respond with an XML formatted response.

Authentication

Each request must be accompanied by certain variables in order for the request to be authenticated and, consequently, processed. Requests are authenticated based on the following criteria:
API Key, "key"Each application must request a unique API Key. This key gives you access to the API.
User Email, "user"Because Taskbarn is a private network of projects, each request must be accompanied by user identification. The email address here is the user's login.
User Password, "pass"This is the corresponding password for the email address above.
Project Subdomain or ID, "project"This project identifier can be either the project's subdomain name (ex. www.subname.taskbarn.com - "subname" is the subdomain name) or the numeric project ID. This is not required for all API transaction but is required for most. If the project is closed, only the project leader can access it.

Methods

Now that you have a basic understanding of the system, we'll display the methods that our API currently supports. Here, you will find usage examples as well. Note that our API and service are both very new and so we only have a limited number of methods available at the moment but this is going to be expanded very soon.

An example request is:

GET http://www.taskbarn.com/api/get_project_tasks.xml?key=343j3k4jksdjfsdf9343 &user=test@taskbarn.com&pass=fakepass&project=myproject

An example response is:

<?xml version="1.0" encoding="utf-8" ?>
<rsp status="ok">
<request>
<method>get_project_tasks</method>
<format>xml</format>
<api_key>343j3k4jksdjfsdf9343</api_key>
<requests>33</requests>
</request>
<task>
<id>25</id>
<taskurl>http://www.taskbarn.com/manage/tasks/edit/?id=25</taskurl>
<summary>Let's get an API setup!</summary>
<priority>3</priority>
<urgency>db2b2b</urgency>
<assignment>0</assignment>
<duedate>1207368000</duedate>
<isdetails>0</isdetails>
<details></details>
</task>
</rsp>


get_project_tasks (http://www.taskbarn.com/api/get_project_tasks.xml)
What it does: This method responds with the limit (default: 10) most urgent/late tasks in project with the ID of project.
Requires Fields: key, user, pass, project
Optional Field: limit
Action: POST/GET
Response: XML

get_project_feed (http://www.taskbarn.com/api/get_project_feed.xml)
What it does: This method responds with the limit (default: 20) latest updates to the project' feed.
Requires Fields: key, user, pass, project
Optional Field: limit
Action: POST/GET
Response: XML

put_feed_update (http://www.taskbarn.com/api/put_feed_update.xml)
What it does: This method posts a new update to the feed containing summary and optionally a web link of link. Upon success, it responds with the latest feed update (the one just submitted). It's a simplified version of the feed update abilities within the control panel.
Requires Fields: key, user, pass, project, summary
Optional Field: link
Action: POST/GET
Response: XML