Timely API V1

Integrate your application into Timely.

Timely API helps you integrate your application with Timely. Following are the list of API’s available. For any help or support email [email protected]

OAuth2 Authentication; http://tools.ietf.org/html/rfc6749

Base URL for all API's is https://api.timelyapp.com/1.0

OAuth Code

GET /oauth/authorize

Compulsory Parameters
Parameter Name Parameter Value
response_type code
redirect_uri http://your-redirect-url/
client_id your_application_id

This will respond with the code parameter, which you need to use to get the token.

Example Request

curl -XGET https://api.timelyapp.com/1.0/oauth/authorize?response_type=code
&redirect_uri=your_redirect_uri&client_id=your_client_id

OAuth Token

POST /oauth/token

Compulsory Parameters
Parameter Name Parameter Value
redirect_uri http://your-redirect-url/
code your_response_code
client_id your_application_id
client_secret your_application_secret
grant_type authorization_code

The response will be a token with a refresh token. Use the token to use the following API.

Example Request

curl -X POST --data "redirect_uri=https://your-redirect_url/&code=your_response_code
&client_id=application_id&client_secret=application_secret&grant_type=authorization_code"
https://api.timelyapp.com/1.0/oauth/token

Response


Success
200 Ok

{
  "access_token":"1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a",
  "token_type":"bearer",
  "refresh_token":"9db4d1a5d87c707b8125d8f93ad08091fb3ff8b93be901dbeaba968cf532ed9b"
}

Account List

GET /accounts

Optional Parameters

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
https://api.timelyapp.com/1.0/accounts

Response


Success 
200 Ok
[  
  {  
    "id":1,
    "name":"Timely",
    "from":"Web",
    "max_users":45,
    "max_projects":0, #Unlimited
    "num_users":1,
    "num_projects":2,
    "plan_id":20,
    "plan_name":"Premium",
    "next_charge":"2015-05-20",
    "currency":{  
      "id":"usd",
      "priority":1,
      "iso_code":"USD",
      "name":"United States Dollar",
      "symbol":"$",
      "alternate_symbols":[  
        "US$"
      ],
      "subunit":"Cent",
      "subunit_to_unit":100,
      "symbol_first":true,
      "html_entity":"$",
      "decimal_mark":".",
      "thousands_separator":",",
      "iso_numeric":"840"
    }
  }
]

Account Detail

GET /accounts/:id

Compulsory Parameters
id The numerical ID of the desired project.

Example Values: 123

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
https://api.timelyapp.com/1.0/accounts/1

Response


Success
200 Ok
{  
    "id":1,
    "name":"Timely",
    "from":"Web",
    "max_users":45,
    "max_projects":0, #Unlimited
    "num_users":1,
    "num_projects":2,
    "plan_id":20,
    "plan_name":"Premium",
    "next_charge":"2015-05-20",
    "currency":{  
      "id":"usd",
      "priority":1,
      "iso_code":"USD",
      "name":"United States Dollar",
      "symbol":"$",
      "alternate_symbols":[  
        "US$"
      ],
      "subunit":"Cent",
      "subunit_to_unit":100,
      "symbol_first":true,
      "html_entity":"$",
      "decimal_mark":".",
      "thousands_separator":",",
      "iso_numeric":"840"
    }
  }

Projects List

GET /:account_id/projects

Optional Parameters
Parameter Name Parameter Value
limit Specifies the number of records to retrieve. Must be less than or equal to 100.

Example: "limit=10"

offset Specifies the starting record for results to return.

Example: specifying "offset=0" will start offset from 0 record, "offset=4" will start offset from 4th record, etc

order Reverses the sorting order, when you include the parameter

Example: "order=desc" or "order=asc"

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
https://api.timelyapp.com/1.0/1/projects

Response


Success 
200 Ok

[
    {
     "id":331181,
     "account_id":110941,
     "active":true,
     "budget":3000,
     "budget_type":"M",
     "client":{
       "id":163951,
       "name":"marketing",
       "archived":false
       },
     "hour_rate":20.0,
     "name":"marketing camp 1",
     "billable":true,
     "rate_type":"project",
     "users":[
       {"id":117861,"hour_rate":0.0},
       {"id":175551,"hour_rate":0.0}
       ],
     "updated_at":1408804137,
     "color":"47b17c",
     "total_estimated":{
       "duration":{
         "total_minutes":480,
         "total_hours":8.0,
         "minutes":0,
         "hours":8,
         "formatted":"08:00"
       },
       "cost":16000.0
     },
     "total_logged":{
       "duration":{
         "total_minutes":0,
         "total_hours":0.0,
         "minutes":0,
         "hours":0,
         "formatted":"00:00"
       },
       "cost":0.0
     }
    },

    {
     "id":307611,
     "account_id":110941,
     "active":true,
     "budget":null,
     "budget_type":null,
     "client":{
       "id":163951,
       "name":"marketing",
       "archived":false
       },
     "hour_rate":20.0,
     "name":"marketing camp 2",
     "billable":true,
     "rate_type":"project",
     "users":[
       {"id":117861,"hour_rate":0.0},
       {"id":175551,"hour_rate":0.0},
       {"id":183581,"hour_rate":0.0}
       ],
     "updated_at":1402552390,
     "color":"866b9c",
     "total_estimated":{
       "duration":{
         "total_minutes":180,
         "total_hours":3.0,
         "minutes":0,
         "hours":3,
         "formatted":"03:00"
       },
       "cost":6000
     },
     "total_logged":{
       "duration":{
         "total_minutes":0,
         "total_hours":0.0,
         "minutes":0,
         "hours":0,
         "formatted":"00:00"
       },
       "cost":0.0
     }
    }
]

  

Note: Normal user will get all the projects from account. Limited user will get only his projects.

Note: Project list will return recently updated 10 projects additionally you can add the “limit”, “offset” and “order” optional parameters to change the result.

Projects Details

GET /:account_id/projects/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired project.

Example Values: 123

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
https://api.timelyapp.com/1.0/1/projects/31

Response


Success
200 Ok

{
  "id":31,
  "account_id":110941,
  "active":true,
  "budget":30,
  "budget_type":"H",
  "client":{
    "id":1,
    "name":"marketing",
    "archived":false
   },
  "hour_rate":15.0,
  "name":"marketing camp 1",
  "billable":true,
  "rate_type":"project",
  "users":[
    {"id":117861,"hour_rate":0.0},
    {"id":175551,"hour_rate":0.0}
  ],
  "updated_at":1402552184,
  "color":"67a3bc",
  "total_estimated":{
    "duration":{
      "total_minutes":637,
      "total_hours":10.6,
      "minutes":37,
      "hours":10,
      "formatted":"10:37"
    },
    "cost":15925.0
  },
  "total_logged":{
    "duration":{
      "total_minutes":660,
      "total_hours":11.0,
      "minutes":0,
      "hours":11,
      "formatted":"11:00"
    },
   "cost":16500.0
  }
}

Unauthorized access of other projects of same account.


403 Forbidden

Unauthorized access of projects of other account.


404 Not Found

Access with wrong authentication token.


401 Unauthorized

Create Project

POST /:account_id/projects

Compulsory Parameters
Parameter Name Parameter Value
name Specifies the project name
color Specifies the project color, should be one of 47b17c, 67a3bc, bd4c4f, d0915a, 866b9c, cdae4f, 5ab8b7, c697c0
client_id Specifies the numerical client id
users Specifies the project users, should be array of users with numerical user id and hour_rate

Example: "users": [{ "user_id": 175551, "hour_rate": 25.0 },{ "user_id": 117861, "hour_rate": 27.0 }]

Optional Parameters
Parameter Name Parameter Value
billable Specifies the project is billable or not, should be true or false
budget Specifies the budget for project, should be numeric value
hour_rate Specifies the hour rate for project, should be numeric value
rate_type Specifies the hour rate type for project, should be "user" or "project"

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{ "project": { "name": "Marketing camp 3", "color":"47b17c", "billable": true,
"budget": 1000, "hour_rate": 15.0, "client_id": 1, "rate_type" : "user",
"users": [{ "user_id": 2, "hour_rate": 20.0 },{ "user_id": 3, "hour_rate": 25.0 }] } }'
"http://api.timelyapp.com/1.0/1/projects"

Response


Success
201 Created
{
  "id":10,
  "account_id":1,
  "active":true,
  "budget":1000,
  "budget_type":"H",
  "client":{
    "id":1,
    "name":"marketing",
    "archived":false
  },
  "hour_rate":15.0,
  "name":"Marketing Camp 3",
  "billable":true,
  "rate_type":"user",
  "users":[
    {"id":1,"hour_rate":20.0},
    {"id":4,"hour_rate":25.0},
    {"id":3,"hour_rate":27.0}
  ],
  "updated_at":1409336297,
  "color":"47b17c",
  "total_estimated":{
    "duration":{
      "total_minutes":0,
      "total_hours":0.0,
      "total_seconds":0,
      "minutes":0,
      "hours":0,
      "formatted":"00:00:00",
      "seconds":0
    },
    "cost":0.0
  },
  "total_logged":{
    "duration":{
      "total_minutes":0,
      "total_hours":0.0,
      "total_seconds":0,
      "minutes":0,
      "hours":0,
      "formatted":"00:00:00",
      "seconds":0
    },
    "cost":0.0
  }
}

Failure
422 Unprocessable Entity
{
  "errors":{
    "name":[
      "can't be blank"
    ],
    "project_users":[

    ]
  }
}

Creating project for different account


403 Forbidden
{
  "data":{
    "reference":"a833626d3b763fbf738267ef792fba4d"
  }
}

Update Project

PUT /:account_id/projects/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired project.

Example Values: 123

Note: All other parameters are as mention in create project

Example Request

curl -v -X PUT -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{ "project": { "name": "Marketing Camp 3 Updatj", "color":"47b17c", "billable": true,
"budget": 1000, "hour_rate": 20.0, "client_id": 5, "rate_type" : "user",
"users": [{ "user_id": 3, "hour_rate": 20.0 },{ "user_id": 4, "hour_rate": 25.0 }] } }'
"https://api.timelyapp.com/1.0/1/projects/31"

Response


Success
200 OK

{
  "id":482331,
  "account_id":110941,
  "active":true,
  "budget":1000,
  "budget_type":"H",
  "client":{
    "id":163951,
    "name":"marketing",
    "archived":false
  },
  "hour_rate":20.0,
  "name":"Marketing Camp 3 Update",
  "billable":true,
  "rate_type":"user",
  "users":[
    {"id":3,"hour_rate":20.0},
    {"id":4,"hour_rate":25.0}
  ],
  "updated_at":1409338512,
  "color":"47b17c",
  "total_estimated":{
    "duration":{
      "total_minutes":0,
      "total_hours":0.0,
      "minutes":0,
      "hours":0,
      "formatted":"00:00"
    },
    "cost":0.0
  },
  "total_logged":{
    "duration":{
      "total_minutes":0,
      "total_hours":0.0,
      "minutes":0,
      "hours":0,
      "formatted":"00:00"
   },
   "cost":0.0
  }
}

Failure
422 Unprocessable Entity
{
  "errors":{
    "name":[
      "can't be blank"
    ],
    "project_users":[

    ]
  }
}

Delete Project

DELETE /:account_id/projects/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired project.

Example Values: 123

Example Request

curl -v -X DELETE -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/projects/31"

Response


Success
200 OK

Deleting project of other client


404 Not Found

Deleting other project of same client


403 Forbidden

Deleting project by Limited user


403 Forbidden

Clients List

GET /:account_id/clients

Optional Parameters
Parameter Name Parameter Value
limit Specifies the number of records to retrieve. Must be less than or equal to 100.

Example: "limit=10"

offset Specifies the starting record for results to return.

Example: specifying "offset=0" will start offset from 0 record, "offset=4" will start offset from 4th record, etc

order Reverses the sorting order, when you include the parameter

Example: "order=desc" or "order=asc"

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/clients"

Response


Success
200 OK

[
  {
    "id":1,
    "name":"marketing",
    "archived":false
  },
  {
    "id":2,
    "name":"business",
    "archived":false
  },
  {
    "id":3,
    "name":"development",
    "archived":false
  }
]

NOTE : Client list will return recently updated 10 clients additionally you can add the “limit”, “offset” and “order” optional parameters to change the result

Client Details

GET /:account_id/clients/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired client.

Example Values: 123

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/clients/1"

Response


Success
200 Ok

{
  "id":1,
  "name":"marketing",
  "archived":false
}

Accessing client of different account


404 Not Found
{
  "data":{
    "reference":"dca8215e324a30c08f61bdd5d348af9c"
  }
}

Create Client

POST /:account_id/clients

Compulsory Parameters
Parameter Name Parameter Value
name Specifies the client name
Optional Parameters
Parameter Name Parameter Value
color Specifies the client color
archived Change the client state to archived if set to true

Example values: true or false

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"client": { "name": "development", "color":"c697c0" }}'
"https://api.timelyapp.com/1.0/1/clients"

Response


Success
201 Created

{
  "id":6,
  "name":development",
  "archived":false
}

Update Client

PUT /:account_id/clients/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired event.

Example Values: 123

Note: All other parameters are as mention in create client

Example Request

curl -v -X PUT -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"client": { "name": "marketing update" }}'
"https://api.timelyapp.com/1.0/1/clients/1"

Response


Success
201 Created

{
  "id":1,
  "name":marketing update",
  "archived":false
}

Updating client of a different account


404 Not Found

Users List

GET /:account_id/users

Optional Parameters
Parameter Name Parameter Value
limit Specifies the number of records to retrieve. Must be less than or equal to 100.

Example: "limit=10"

offset Specifies the starting record for results to return.

Example: specifying "offset=0" will start offset from 0 record, "offset=4" will start offset from 4th record, etc

order Reverses the sorting order, when you include the parameter

Example: "order=desc" or "order=asc"

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/users"

Response


Success
200 OK

[
    {
      "id":1,
      "email":"[email protected]",
      "name":"Pravin Thakare",
      "user_level":"admin",
      "time_zone":"Kolkata",
      "account_id":110941,
      "updated_at":1408906955,
      "active":true,
      "deleted":false,
      "hide_hourly_rate":false,
      "avatar":{
        "large_retina":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/large_retina/retro_apple.jpg?1408906953",
        "large":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/large/retro_apple.jpg?1408906953",
        "medium_retina":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/medium_retina/retro_apple.jpg?1408906953",
        "medium":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/medium/retro_apple.jpg?1408906953",
        "timeline":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/timeline/retro_apple.jpg?1408906953"
      }
    },

    {
      "id":2,
      "email":"[email protected]",
      "name":"Anup Nivargi",
      "user_level":"normal",
      "time_zone":"Kolkata",
      "account_id":110941,
      "updated_at":1408887156,
      "active":true,
      "deleted":false,
      "hide_hourly_rate":false,
      "avatar":null
    },

    {
      "id":3,
      "email":"[email protected]",
      "name":"Aditya Thakare",
      "user_level":"limited",
      "time_zone":"Kolkata",
      "account_id":110941,
      "updated_at":1408885367,
      "active":true,
      "deleted":false,
      "hide_hourly_rate":false,
      "avatar":null
    }
]

Note: user list will return recently updated 10 users additionally you can add the “limit”, “offset” and “order” optional parameters to change the result.

User Details

GET /:account_id/users/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired event.

Example Values: 123

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/users/1"

Response


Success
200 Ok

{
  "id":1,
  "email":"[email protected]",
  "name":"Pravin Thakare",
  "user_level":"admin",
  "time_zone":"Kolkata",
  "account_id":110941,
  "updated_at":1408906955,
  "active":true,
  "deleted":false,
  "hide_hourly_rate":false,
  "avatar":{
    "large_retina":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/large_retina/retro_apple.jpg?1408906953",
    "large":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/large/retro_apple.jpg?1408906953",
    "medium_retina":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/medium_retina/retro_apple.jpg?1408906953",
    "medium":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/medium/retro_apple.jpg?1408906953",
    "timeline":"https://timelytimetracking.s3.amazonaws.com/users/avatars/000/117/861/timeline/retro_apple.jpg?1408906953"
  }
}

Create/Invite User

POST /:account_id/users

Compulsory Parameters
Parameter Name Parameter Value
name Specifies the user name
email Specifies the user email
projects Specifies the projects that user will be part of

Example"projects": [ {"id": 11 , "hour_rate": 10 }, {"id": 12 , "hour_rate": 20 }]

Optional Parameters
Parameter Name Parameter Value
user_level Specifies the user level, should be admin/normal/limited, default will be "normal"

Example: "user_level": "normal"

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"user": { "name": "Mathias M", "email":"[email protected]", "user_level": "normal",
"projects": [ {"id": 11 , "hour_rate": 10 }, {"id": 12 , "hour_rate": 20 }] } }'
"https://your-testdomain.timelyapp.com/1.0/1/users"

Response


Success
200 OK

{
  "id":5,
  "email":"[email protected]",
  "name":"Mathias M",
  "user_level":"normal",
  "time_zone":"Kolkata",
  "account_id":110941,
  "updated_at":1409346273,
  "active":false,
  "deleted":false,
  "hide_hourly_rate":false,
  "avatar":null
}

User account creation by non admin user


401 Unauthorized

Note:

“user_level” can have values admin/normal/limited

“hide_hourly_rate” can be true or false(Default false) if set to “limited” the option to “hide_hourly_rate” can be set to “true” which means this limited user can not see his amount calculation anywhere on the site

Update User

PUT /:account_id/users/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired user.

Example Values: 123

Example Request

curl -v -X PUT -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"user": { "name": "Mathias Mikkelsen", "email":"[email protected]", "time_zone": "Mumbai" ,
"user_level": "normal", "projects": [ {"id": 11 , "hour_rate": 10 }, {"id": 12 , "hour_rate": 20 }] }}'
"https://api.timelyapp.com/1.0/1/users/5"

Note:

All other parameters are as mention in create user

Should not update “user_level”, “projects” and “hide_hourly_rate” as these fields are only editable by admin for other users.

Only admin user can update other users profile, limited user will only update self profile

Response


Success
200 Ok

{
  "id":5,
  "email":"[email protected]",
  "name":"Mathias Mikkelsen",
  "user_level":"normal",
  "time_zone":"Mumbai",
  "account_id":110941,
  "updated_at":1409346273,
  "active":false,
  "deleted":false,
  "hide_hourly_rate":false,
  "avatar":null
}

Limited user updating others profile


401 Unauthorized

Delete User

DELETE /:account_id/users/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired user.

Example Values: 123

Example Request

curl -v -X DELETE -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/users/4"

Response


Success
200 OK

If deleting an admin


403 Forbidden

Events List (Account, Project, User)

Get all the events of active projects present in user’s account

GET /:account_id/events

Optional Parameters
Parameter Name Parameter Value
since Specifies the start date for results to return.

Example: since=2014-08-18

upto Specifies the end date for results to return.

Example: upto=2014-08-24

Note: If “since” and “upto” parameters are not passed, default period is beginning of week to end of week.

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/events?since=2014-08-18&upto=2014-08-24"

Response


Success
200 Ok
[
    {
     "id":91635811,
       "user":{
         "id":4,
         "email":"[email protected]",
         "name":"Aditya Update",
         "user_level":"limited","active":true
       },
       "project":{
         "id":307611,
         "active":true,
         "budget":null,
           "client":{
             "id":163951,
             "name":"marketing",
             "archived":false
           },
         "hour_rate":20.0,
         "color":"866b9c",
         "name":"marketing camp 1",
         "rate_type":"project",
         "billable":true,
         "updated_at":1402552390
       },
       "duration":{
         "total_minutes":180,
         "total_hours":3.0,
         "minutes":0,
         "hours":3,
         "formatted":"03:00"
       },
       "estimated_duration":{
         "total_minutes":0,
         "total_hours":0.0,
         "minutes":0,
         "hours":0,
         "formatted":"00:00"
       },
       "day":"2014-08-20",
       "days_count":null,
       "cost":6000,
       "estimated_cost":0.0,
       "hour_rate":2000.0,
       "note":"aditya hours 1",
       "sequence":1,
       "estimated":false,
       "updated_at":1408833360
    },

    {
     "id":91810271,
       "user":{
         "id":1,
         "email":"[email protected]",
         "name":"Pravin Thakare",
         "user_level":"admin",
         "active":true
       },
       "project":{
         "id":480101,
         "active":true,
         "budget":1000,
         "client":{
           "id":163951,
           "name":"development",
           "archived":false
         },
         "hour_rate":15.0,
         "color":"47b17c",
         "name":"development camp",
         "rate_type":"user",
         "billable":true,
         "updated_at":1408886393
       },
       "duration":{
         "total_minutes":300,
         "total_hours":5.0,
         "minutes":0,
         "hours":5,
         "formatted":"05:00"
       },
       "estimated_duration":{
         "total_minutes":0,
         "total_hours":0.0,
         "minutes":0,
         "hours":0,
         "formatted":"00:00"
       },
       "day":"2014-08-20",
       "days_count":null,
       "cost":13500.0,
       "estimated_cost":0.0,
       "hour_rate":2700.0,
       "note":"Pravin entry 1",
       "sequence":1,
       "estimated":false,
       "updated_at":1409351815
    },

    {
     "id":91635821,
     "user":{
       "id":183581,
       "email":"[email protected]",
       "name":"Aditya Update",
       "user_level":"limited",
       "active":true
     },
     "project":{
       "id":307611,
       "active":true,
       "budget":null,
         "client":{
           "id":163951,
           "name":"marketing",
           "archived":false
         },
       "hour_rate":20.0,
       "color":"866b9c",
       "name":"marketing camp 2",
       "rate_type":"project",
       "billable":true,
       "updated_at":1402552390
     },
     "duration":{
       "total_minutes":300,
       "total_hours":5.0,
       "minutes":0,
       "hours":5,
       "formatted":"05:00"
     },
     "estimated_duration":{
       "total_minutes":0,
       "total_hours":0.0,
       "minutes":0,
       "hours":0,
       "formatted":"00:00"
     },
     "day":"2014-08-18",
     "days_count":null,
     "cost":9999.999999999998,
     "estimated_cost":0.0,
     "hour_rate":2000.0,
     "note":"aditya 2",
     "sequence":1,
     "estimated":false,
     "updated_at":1408833374
    }
]

Get all events of user

GET /:account_id/users/:user_id/events

Compulsory Parameters
Parameter Name Parameter Value
user_id The numerical ID of the desired user.

Example Values: 123

Optional Parameters
As mention in all events api's

Note: Only normal user can get events of other users of same account. Limited user will always get his one events.

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/users/1/events?since=2014-08-18&upto=2014-08-24"

Response


Success
200 Ok

[
    {
     "id":91810271,
       "user":{
         "id":1,
         "email":"[email protected]",
         "name":"Pravin Thakare",
         "user_level":"admin",
         "active":true
       },
       "project":{
         "id":480101,
         "active":true,
         "budget":1000,
         "client":{
           "id":163951,
           "name":"development",
           "archived":false
         },
         "hour_rate":15.0,
         "color":"47b17c",
         "name":"development camp",
         "rate_type":"user",
         "billable":true,
         "updated_at":1408886393
       },
       "duration":{
         "total_minutes":300,
         "total_hours":5.0,
         "minutes":0,
         "hours":5,
         "formatted":"05:00"
       },
       "estimated_duration":{
         "total_minutes":0,
         "total_hours":0.0,
         "minutes":0,
         "hours":0,
         "formatted":"00:00"
       },
       "day":"2014-08-20",
       "days_count":null,
       "cost":13500.0,
       "estimated_cost":0.0,
       "hour_rate":2700.0,
       "note":"Pravin entry 1",
       "sequence":1,
       "estimated":false,
       "updated_at":1409351815
    },
    {
     "id":91810551,
     "user":{
       "id":1,
       "email":"[email protected]",
       "name":"Pravin Thakare",
       "user_level":"admin",
       "active":true
     },
     "project":{
       "id":480101,
       "active":true,
       "budget":1000,
       "client":{
         "id":163951,
         "name":"marketing",
         "archived":false
       },
       "hour_rate":15.0,
       "color":"47b17c",
       "name":"marketing camp 1",
       "rate_type":"user",
       "billable":true,
       "updated_at":1408886393
     },
     "duration":{
       "total_minutes":480,
       "total_hours":8.0,
       "minutes":0,
       "hours":8,
       "formatted":"08:00"
     },
     "estimated_duration":{
       "total_minutes":0,
       "total_hours":0.0,
       "minutes":0,
       "hours":0,
       "formatted":"00:00"
     },
     "day":"2014-08-23",
     "days_count":null,
     "cost":21600.0,
     "estimated_cost":0.0,
     "hour_rate":2700.0,
     "note":"pravin entry in marketing",
     "sequence":1,
     "estimated":false,
     "updated_at":1409352537
    }
]

User accessing events of different account’s user

404 Not Found

Get all events of project

GET /:account_id/projects/:project_id/events

Compulsory Parameters
Parameter Name Parameter Value
project_id The numerical ID of the desired project.

Example Values: 123

Optional Parameters
As mention in all events api's

Note: Only normal user can get events of other projects of same account. Limited user can only get events of his own project.

Example Request

curl -v -X GET -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.com/1.0/1/projects/4/events?2014-08-18&upto=2014-08-24"

Response


Success
200 Ok
[
    {
     "id":91810271,
     "user":{
       "id":117861,
       "email":"[email protected]",
       "name":"Pravin Thakare",
       "user_level":"admin",
       "active":true
     },
     "project":{
       "id":4,
       "active":true,
       "budget":1000,
       "client":{
         "id":163951,
         "name":"marketing",
         "archived":false
       },
       "hour_rate":15.0,
       "color":"47b17c",
       "name":"marketing camp",
       "rate_type":"user",
       "billable":true,
       "updated_at":1408886393
     },
     "duration":{
       "total_minutes":300,
       "total_hours":5.0,
       "minutes":0,
       "hours":5,
       "formatted":"05:00"
     },
     "estimated_duration":{
       "total_minutes":0,
       "total_hours":0.0,
       "minutes":0,
       "hours":0,
       "formatted":"00:00"
     },
     "day":"2014-08-20",
     "days_count":null,
     "cost":13500.0,
     "estimated_cost":0.0,
     "hour_rate":2700.0,
     "note":"Pravin entry 1",
     "sequence":1,
     "estimated":false,
     "updated_at":1409351815
    },
    {
     "id":91810551,
     "user":{
       "id":117861,
       "email":"[email protected]",
       "name":"Pravin Thakare",
       "user_level":"admin",
       "active":true
     },
     "project":{
       "id":4,
       "active":true,
       "budget":1000,
       "client":{
         "id":163951,
         "name":"marketing",
         "archived":false
       },
       "hour_rate":15.0,
       "color":"47b17c",
       "name":"marketing camp",
       "rate_type":"user",
       "billable":true,
       "updated_at":1408886393
     },
     "duration":{
       "total_minutes":480,
       "total_hours":8.0,
       "minutes":0,
       "hours":8,
       "formatted":"08:00"
     },
     "estimated_duration":{
       "total_minutes":0,
       "total_hours":0.0,
       "minutes":0,
       "hours":0,
       "formatted":"00:00"
     },
     "day":"2014-08-23",
     "days_count":null,
     "cost":21600.0,
     "estimated_cost":0.0,
     "hour_rate":2700.0,
     "note":"pravin entry in marketing",
     "sequence":1,
     "estimated":false,
     "updated_at":1409352537
    }
]

Normal user accessing project of different account


404 Not Found

Limited user accessing other than his own project


404 Not Found

Create Event

Loggedin user creating an event for self

POST /:account_id/events

Compulsory Parameters
Parameter Name Parameter Value
day Specifies the event day.

Example Values: "day":"2014-08-30"

minutes Specifies the event minutes.

Example Values: 0-60

hours Specifies the event hours.

Example Values: 0-12

Optional Parameters
Parameter Name Parameter Value
estimated_minutes Specifies the event estimated minutes.

Example Values: 0-60

estimated_hours Specifies the event estimated hours.

Example Values: 0-12

note Specifies the event notes.

Note: By default the event is created for user’s last hour project or the first active project

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"event": {"day":"2014-08-30", "minutes":0, "hours":4, "estimated_minutes":0, "estimated_hours":0,
"note" : "Created a web mockup"}}'
"https://api.timelyapp.com/1.0/1/events"

Response


Success
201 Created

{
    "id":91815731,
     "user":{
       "id":117861,
       "email":"[email protected]",
       "name":"Pravin Thakare",
       "user_level":"admin","active":true
     },
     "project":{
       "id":480101,
       "active":true,
       "budget":1000,
       "client":{
         "id":163951,
         "name":"development",
         "archived":false
       },
     "hour_rate":15.0,
     "color":"47b17c",
     "name":"development camp",
     "rate_type":"user",
     "billable":true,
     "updated_at":1408886393
     },
     "duration":{
       "total_minutes":270,
       "total_hours":4.5,
       "minutes":30,
       "hours":4,
       "formatted":"04:30"
     },
     "estimated_duration":{
       "total_minutes":0,
       "total_hours":0.0,
       "minutes":0,
       "hours":0,
       "formatted":"00:00"
     },
     "day":"2014-08-30",
     "days_count":null,
     "cost":12150.0,
     "estimated_cost":0.0,
     "hour_rate":2700.0,
     "note":"Created a web mockup",
     "sequence":1,
     "estimated":false,
     "updated_at":1409405651
}

Loggedin user creating event for a project

POST /:account_id/projects/:project_id/events

Compulsory Parameters
Parameter Name Parameter Value
project_id The numerical ID of the desired project.

Example Values: 123

All other parameter as mention in self event create.

Note: Normal user can add hours to existing projects from account.

Limited user can add hours to only his projects

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"event": {"day":"2014-04-17", "minutes":0, "hours":4, "note" : "Created a web mockup"}}'
"https://api.timelyapp.com/1.0/1/projects/5/events"

Response


Success
200 OK

{
  "id":91815811,
  "user":{
    "id":117861,
    "email":"[email protected]",
    "name":"Pravin Thakare",
    "user_level":"admin",
    "active":true
  },
  "project":{
    "id":5,
    "active":true,
    "budget":3000,
    "client":{
      "id":163951,
      "name":"marketing",
      "archived":false
    },
    "hour_rate":20.0,
    "color":"47b17c",
    "name":"marketing camp",
    "rate_type":"project",
    "billable":true,
    "updated_at":1408804137
  },
  "duration":{
    "total_minutes":180,
    "total_hours":3.0,
    "minutes":0,
    "hours":3,
    "formatted":"03:00"
  },
  "estimated_duration":{
    "total_minutes":0,
    "total_hours":0.0,
    "minutes":0,
    "hours":0,
    "formatted":"00:00"
  },
  "day":"2014-08-25",
  "days_count":null,
  "cost":5999.999999999999,
  "estimated_cost":0.0,
  "hour_rate":2000.0,
  "note":"Created a web mockup Admin",
  "sequence":3,
  "estimated":false,
  "updated_at":1409407166
}

Loggedin user creating event for another user

POST /:account_id/users/:user_id/events

Compulsory Parameters
Parameter Name Parameter Value
user_id The numerical ID of the desired user.

Example Values: 123

All other parameter as mention in self event create.

Note: Normal user can add hours for any user. If project_id is not provided, the event is created for user’s last hour project or the first active project.

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"event": {"day":"2014-04-17", "minutes":0, "hours":4, "note" : "Created a web mockup"}}'
"https://api.timelyapp.com/1.0/1/users/5/events"

Response


Success
200 OK

{
  "id":91815811,
  "user":{
    "id":117861,
    "email":"[email protected]",
    "name":"Pravin Thakare",
    "user_level":"admin",
    "active":true
  },
  "project":{
    "id":5,
    "active":true,
    "budget":3000,
    "client":{
      "id":163951,
      "name":"marketing",
      "archived":false
    },
    "hour_rate":20.0,
    "color":"47b17c",
    "name":"marketing camp",
    "rate_type":"project",
    "billable":true,
    "updated_at":1408804137
  },
  "duration":{
    "total_minutes":180,
    "total_hours":3.0,
    "minutes":0,
    "hours":3,
    "formatted":"03:00"
  },
  "estimated_duration":{
    "total_minutes":0,
    "total_hours":0.0,
    "minutes":0,
    "hours":0,
    "formatted":"00:00"
  },
  "day":"2014-08-25",
  "days_count":null,
  "cost":5999.999999999999,
  "estimated_cost":0.0,
  "hour_rate":2000.0,
  "note":"Created a web mockup Admin",
  "sequence":3,
  "estimated":false,
  "updated_at":1409407166
}

Update Event

Loggedin user updating self event

PUT /:account_id/events/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired event.

Example Values: 123

All other parameters as mention in event create

Note: If its a normal user then he can edit events of other users of his account. Also the project_id can be edited to one from his account. If limited user, then he can edit only his events.

Example Request

curl -v -X PUT -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"event" : {"minutes" : 0, "hours" : 0, "estimated" : true,
"estimated_minutes" : 0, "estimated_hours" : 2, "note" : "Updating testing"}}'
"https://api.timelyapp.com/1.0/1/events/91815811"

Response


Success
200 OK

{
  "id":91815811,
  "user":{
    "id":183581,
    "email":"[email protected]",
    "name":"Aditya Update",
    "user_level":"limited",
    "active":true
  },
  "project":{
    "id":331181,
    "active":true,
    "budget":3000,
    "client":{
      "id":163951,
      "name":"marketing",
      "archived":false
    },
    "hour_rate":20.0,
    "color":"47b17c",
    "name":"marketing camp",
    "rate_type":"project",
    "billable":true,
    "updated_at":1408804137
  },
  "duration":{
    "total_minutes":0,
    "total_hours":0.0,
    "minutes":0,
    "hours":0,
    "formatted":"00:00"
  },
  "estimated_duration":{
    "total_minutes":120,
    "total_hours":2.0,
    "minutes":0,
    "hours":2,
    "formatted":"02:00"
  },
  "day":"2014-08-27",
  "days_count":null,
  "cost":0.0,
  "estimated_cost":4000.0,
  "hour_rate":2000.0,
  "note":"Updating testing",
  "sequence":4,
  "estimated":false,
  "updated_at":1409408743
}

Unauthorized access to update event
404 Not Found/403 forbidden

Loggedin user updating details and project of his event

PUT /:account_id/projects/:project_id/events/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired event.

Example Values: 123

project_id The numerical ID of the desired project.

Example Values: 123

All other parameters as mention in event create

Example Request

curl -v -X PUT -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"event" : {"minutes" : 0, "hours" : 0, "estimated" : true,
"estimated_minutes" : 0, "estimated_hours" : 2, "note" : "Updating testing"}}'
"https://api.timelyapp.com/1.0/1/projects/11/events/31"

Response


Success
200 OK

{
  "id":91815811,
  "user":{
    "id":183581,
    "email":"[email protected]",
    "name":"Aditya Update",
    "user_level":"limited",
    "active":true
  },
  "project":{
    "id":331181,
    "active":true,
    "budget":3000,
    "client":{
      "id":163951,
      "name":"marketing",
      "archived":false
    },
    "hour_rate":20.0,
    "color":"47b17c",
    "name":"marketing camp",
    "rate_type":"project",
    "billable":true,
    "updated_at":1408804137
  },
  "duration":{
    "total_minutes":0,
    "total_hours":0.0,
    "minutes":0,
    "hours":0,
    "formatted":"00:00"
  },
  "estimated_duration":{
    "total_minutes":120,
    "total_hours":2.0,
    "minutes":0,
    "hours":2,
    "formatted":"02:00"
  },
  "day":"2014-08-27",
  "days_count":null,
  "cost":0.0,
  "estimated_cost":4000.0,
  "hour_rate":2000.0,
  "note":"Updating testing",
  "sequence":4,
  "estimated":false,
  "updated_at":1409408743
}

Loggedin user updating details and user of an event

PUT /:account_id/users/:user_id/events/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired event.

Example Values: 123

user_id The numerical ID of the desired user.

Example Values: 123

All other parameters as mention in event create

Note: Normal user can edit event’s user to one of his account’s user. Limited user can not edit user.

Example Request

curl -v -X PUT -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"event" : {"minutes" : 0, "hours" : 0, "estimated" : true,
"estimated_minutes" : 0, "estimated_hours" : 2, "note" : "Updating testing"}}'
"https://api.timelyapp.com/1.0/1/users/11/events/3155"

Response


Success
200 OK

{
  "id":91815811,
  "user":{
    "id":183581,
    "email":"[email protected]",
    "name":"Aditya Update",
    "user_level":"limited",
    "active":true
  },
  "project":{
    "id":331181,
    "active":true,
    "budget":3000,
    "client":{
      "id":163951,
      "name":"marketing",
      "archived":false
    },
    "hour_rate":20.0,
    "color":"47b17c",
    "name":"marketing camp",
    "rate_type":"project",
    "billable":true,
    "updated_at":1408804137
  },
  "duration":{
    "total_minutes":0,
    "total_hours":0.0,
    "minutes":0,
    "hours":0,
    "formatted":"00:00"
  },
  "estimated_duration":{
    "total_minutes":120,
    "total_hours":2.0,
    "minutes":0,
    "hours":2,
    "formatted":"02:00"
  },
  "day":"2014-08-27",
  "days_count":null,
  "cost":0.0,
  "estimated_cost":4000.0,
  "hour_rate":2000.0,
  "note":"Updating testing",
  "sequence":4,
  "estimated":false,
  "updated_at":1409408743
}

Delete Event

DELETE /:account_id/events/:id

Compulsory Parameters
Parameter Name Parameter Value
id The numerical ID of the desired event.

Example Values: 123

Note: Normal user can delete events of other projects of same account.

Limited user can delete only his events.

Example Request

curl -v -X DELETE -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
"https://api.timelyapp.dev/1.0/1/events/3155"

Response


Success
200 Ok

Unauthorized access
404 Not Found

All Report

POST /:account_id/reports

Optional Parameters
Parameter Name Parameter Value
users Specifies the users to get report, should be array of users with numerical user id

Example: "users": ["175551", "117861"]

start_date Specifies the start date for report

Example: "start_date" : "Jan 01, 2014"

end_date Specifies the end date for report

Example: "end_date" : "Dec 31, 2014"

projects Specifies the projects to get report, should be array of projects with numerical project id

Example: "projects": ["1751", "1171"]

estimated Specifies the report type to retrive estimated or billed events.

Example: "estimated": false or "estimated": true

Normal user accessing report for account

Example Request

curl -v -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer 1886f011cd72eabc88d087eabd741b51a9059f5ba57c7bc439285fe86a4e465a"
--data '{"report" : {"users": ["1", "5",], "start_date" : "Jan 01, 2014", "end_date" : "Dec 31, 2014",
"projects" : ["1", "5", ], "estimated": false }}'
"https://api.timelyapp.com/1.0/1/reports"

Response


Success
200 Ok

[
    [
     {
       "id":163951,
       "name":"development",
       "archived":false
     },
     [
       [
         {
           "id":307611,
           "account_id":110941,
           "active":true,
           "budget":null,
           "budget_type":null,
           "client":{
             "id":163951,
             "name":"development",
             "archived":false
           },
           "hourly_rate":20.0,
           "name":"development camp",
           "billable":true,
           "rate_type":"project",
           "users":[
             {"id":117861,"hour_rate":0.0},
             {"id":175551,"hour_rate":0.0}
           ],
           "updated_at":1402552390,
           "color":"866b9c",
           "total_estimated":{
             "duration":{
               "total_minutes":540,
               "total_hours":9.0,
               "minutes":0,
               "hours":9,
               "formatted":"09:00"
             },
             "cost":17999.999999999996
           },
           "total_logged":{
             "duration":{
               "total_minutes":660,
               "total_hours":11.0,
               "minutes":0,
               "hours":11,
               "formatted":"11:00"
             },
             "cost":21999.999999999996
           }
         },
         [
           {
             "id":91635811,
             "user":{
               "id":183581,
               "email":"[email protected]",
               "name":"Aditya Update",
               "user_level":"limited",
               "active":true
             },
             "project":{
               "id":307611,
               "active":true,
               "budget":null,
               "client":{
                 "id":163951,
                 "name":"development",
                 "archived":false
               },
               "hour_rate":20.0,
               "color":"866b9c",
               "name":"timely",
               "rate_type":"development camp",
               "billable":true,
               "updated_at":1402552390
             },
             "duration":{
               "total_minutes":180,
               "total_hours":3.0,
               "minutes":0,
               "hours":3,
               "formatted":"03:00"
             },
             "estimated_duration":{
               "total_minutes":0,
               "total_hours":0.0,
               "minutes":0,
               "hours":0,
               "formatted":"00:00"
             },
             "day":"2014-08-20",
             "days_count":null,
             "cost":6000,
             "estimated_cost":0.0,
             "hour_rate":2000.0,
             "note":"aditya hours 1",
             "sequence":1,
             "estimated":false,
             "updated_at":1409402524
           },
           {
             "id":91706341,
             "user":{
               "id":117861,
               "email":"[email protected]",
               "name":"Pravin Thakare",
               "user_level":"admin",
               "active":true
             },
             "project":{
               "id":307611,
               "active":true,
               "budget":null,
               "client":{
                 "id":163951,
                 "name":"development",
                 "archived":false
               },
               "hour_rate":20.0,
               "color":"866b9c",
               "name":"development camp",
               "rate_type":"project",
               "billable":true,
               "updated_at":1402552390
             },
             "duration":{
               "total_minutes":180,
               "total_hours":3.0,
               "minutes":0,
               "hours":3,
               "formatted":"03:00"
             },
             "estimated_duration":{
               "total_minutes":180,
               "total_hours":3.0,
               "minutes":0,
               "hours":3,
               "formatted":"03:00"
             },
             "day":"2014-08-25",
             "days_count":null,
             "cost":6000,
             "estimated_cost":6000,
             "hour_rate":2000.0,
             "note":"Created a web mockup Admin",
             "sequence":1,
             "estimated":false,
             "updated_at":1409082513
           }
         ]
       ]
     ]
    ],
    [
     {
       "id":257641,
       "name":"marketing",
       "archived":false
     },
     [
       [
         {
           "id":480101,
           "account_id":110941,
           "active":true,
           "budget":1000,
           "budget_type":"H",
           "client":{
             "id":257641,
             "name":"marketing",
             "archived":false
           },
           "hourly_rate":15.0,
           "name":"marketing camp",
           "billable":true,
           "rate_type":"user",
           "users":[
             {"id":183581,"hour_rate":10.0},
             {"id":175551,"hour_rate":25.0},
             {"id":117861,"hour_rate":27.0},
             {"id":184471,"hour_rate":10.0},
             {"id":187331,"hour_rate":10.0}
           ],
           "updated_at":1409424644,
           "color":"47b17c",
           "total_estimated":{
             "duration":{
               "total_minutes":1230,
               "total_hours":20.5,
               "minutes":30,
               "hours":20,
               "formatted":"20:30"
             },
             "cost":28150.0
           },
           "total_logged":{
             "duration":{
               "total_minutes":2370,
               "total_hours":39.5,
               "minutes":30,
               "hours":39,
               "formatted":"39:30"
             },
             "cost":69250.0
           }
         },
         [
           {
             "id":91810271,
             "user":{
               "id":117861,
               "email":"[email protected]",
               "name":"Pravin Thakare",
               "user_level":"admin",
               "active":true
             },
             "project":{
               "id":480101,
               "active":true,
               "budget":1000,
               client":{
                 "id":257641,
                 "name":"marketing",
                 "archived":false
               },
               "hour_rate":15.0,
               "color":"47b17c",
               "name":"marketing camp",
               "rate_type":"user",
               "billable":true,
               "updated_at":1409424644
             },
             "duration":{
               "total_minutes":300,
               "total_hours":5.0,
               "minutes":0,
               "hours":5,
               "formatted":"05:00"
             },
             "estimated_duration":{
               "total_minutes":0,
               "total_hours":0.0,
               "minutes":0,
               "hours":0,
               "formatted":"00:00"
             },
             "day":"2014-08-20",
             "days_count":null,
             "cost":13500.0,
             "estimated_cost":0.0,
             "hour_rate":2700.0,
             "note":"Pravin entry 1",
             "sequence":1,
             "estimated":false,
             "updated_at":1409424647
           },
           {
             "id":91641031,
             "user":{
               "id":183581,
               "email":"[email protected]",
               "name":"Aditya Update",
               "user_level":"limited",
               "active":true
             },
             "project":{
               "id":480101,
               "active":true,
               "budget":1000,
               "client":{
                 "id":257641,
                 "name":"marketing",
                 "archived":false
               },
               "hour_rate":15.0,
               "color":"47b17c",
               "name":"marketing camp",
               "rate_type":"user",
               "billable":true,
               "updated_at":1409424644
             },
             "duration":{
               "total_minutes":540,
               "total_hours":9.0,
               "minutes":0,
               "hours":9,
               "formatted":"09:00"
             },
             "estimated_duration":{
               "total_minutes":0,
               "total_hours":0.0,
               "minutes":0,
               "hours":0,
               "formatted":"00:00"
             },
             "day":"2014-08-24",
             "days_count":null,
             "cost":8999.999999999998,
             "estimated_cost":0.0,
             "hour_rate":1000.0,
             "note":"aditya 5",
             "sequence":1,
             "estimated":false,
             "updated_at":1409424644
           }
         ]
       ]
     ]
    ]
]

Note:

1) If "start_date" and "end_date" parameters are not passed, default period is beginning of month to end of month.

2) if the “users” and “projects” parameters are not passed, default normal user will get all the report from account and limited user will get his report.

3) Only normal user can get report of other users of same account. Limited user will always get his report.

4) Only normal user can get report of other projects of same account. Limited user can only get report of his own project.