a node.js wrapper for the taskrabbit API

TaskRabbit API in node.js

  1. You will need to register a client application in the developer sand box @ https://taskrabbitdev.com

  2. Be sure to note your consumerKey, consumerSecret and oauthCallback. You can always modify this information @ https://taskrabbitdev.com/developer/dashboard

  3. npm install taskrabbit

  4. Configure the API (these three parameters are required):

     var taskrabbitPrototype = require(taskrabbit");
     var taskrabbit = new taskrabbitPrototype({
       consumerKey: "XXXX",
       consumerSecret: "XXX",
       oauthCallback: "",
  5. Every action will be authenticated on behalf of a user. This API provides some helpers to authenticate users and gain their oAuth tokens:

     http.createServer(function (req, res) {
       if(req.url == "/auth"){
         res.writeHead(301, {'Location': taskrabbit.oauthClientURL() });
         res.end('Go Here: ' + taskrabbit.oauthClientURL() + '\n');
       }else if(req.url.indexOf("/oauth_callback") >= 0){
         taskrabbit.oauthAuthenticateClient(req, function(error, access_token){
           res.writeHead(200, {'Content-Type': 'text/plain'});
           res.end('Your oAuth access token is: ' + access_token + '\n');
     }).listen(8080, '');
  6. Use the API!

     var payload = {
       "task": {
         "name":"Dog walking",
         "named_price": 20, 
         "city_id": 1,
         "description": "I want you to walk him to his favorite state park",
         "private_description": "Secret informations",
         "cost_in_cents": 500,
         "virtual": true,
         "assignment_type": "review"
     taskrabbit.taskPost(userToken, payload, function(error, data){
     taskrabbit.taskView(userToken, taskID, function(error, data){
  7. When your application is ready, contact TaskRabbit to get a production developer account.

  • taskrabbit.account(accessToken, callback)
  • taskrabbit.cities(accessToken, callback)
  • taskrabbit.taskPost(accessToken, payload, callback)
  • taskrabbit.taskView(accessToken, taskID, callback)
  • taskrabbit.taskDelete(accessToken, taskID, callback)
  • taskrabbit.taskClose(accessToken, taskID, callback)
  • taskrabbit.taskComment(accessToken, taskID, payload, callback)
  • taskrabbit.taskOffers(accessToken, taskID, callback)
  • taskrabbit.taskOfferAccept(accessToken, taskID, offerID, callback)
  • taskrabbit.taskConverstaions(accessToken, taskID, callback)
  • Remember, every action is done on behalf of a user. There are no 'open' actions you can call on the API without a user's token
  • Users can revoke their tokens from your application. Always be sure to check for authentication errors
  • You will need to set the callback to your application in your account on https://taskrabbitdev.com/developer/dashboard and options.oauthCallback MUST match that set with TaskRabbit

The following defaults are provided when you initialize a new API client. You can overwrite them as you need:

  endpoint: "https://taskrabbitdev.com",
  apiVersion: "v1",
  verbose: false,