Generate an access token here.
In every API method add it as an access_token
query parameter.
Generate an access token here.
In every API method add it as an access_token
query parameter.
GET /api/clients.json
Returns the list of clients and their projects.
Query string parameters:
Sample response
[ { "id": 4, "name": "Client ACME", "active": true, "projects": [ { "id": 5 "name": "Project ACME", "active": true } ] } ]
GET /api/entries.json
Returns a list of work entries.
Query string parameters:
Sample response
[ { "id": 405092, "worker_id": 212, "log": "task1: subtask", "worked_at": "2014-12-01", "hours": 7.64, "client_id": 4, "project_id": 450, "billable_status": "billed" } ]
GET /api/entries/sum.json
Returns the total amount of hours of the filtered entries.
Query string parameters:
Sample response
254.78
POST /api/entries/mark_as_billed.json
Marks a set of entries as billed.
Query string parameters:
GET /api/holidays.json
Returns the list of holidays.
Query string parameters:
Sample response:
[ { "id": 21, "worker_id": 8, "kind": "days_off", "from": "2014-01-02", "to": "2014-01-03", "description": "Sick" } ]
GET /api/keywords.csv
GET /api/keywords.json
Returns the list of keywords.
Sample response:
Keyword,Budget,Start,End,Actual,Expected end,Billable task1,65,2014-08-01,,68,2015-02-03,No task2,750,2012-09-01,2012-10-01,688,2015-05-03,Yes
[ { "keyword": "task1", "budget": 65, "start": "2014-08-01", "end": null, "actual": 68, "expected_end": "2015-02-03", "billable": false, }, { "keyword": "task2", "budget": 750, "start": "2012-09-01", "end": "2012-10-01", "actual": 688, "expected_end": "2015-05-03", "billable": true, }, ]
GET /api/workers.json
Returns the list of workers.
Query string parameters:
Sample response
[ { "id": 123, "email": "john@doe.com", "name": "John Doe", "hours_per_day": 8, "active": true, "admin": true, "suspended": false } ]