Time Entries API


 

Get Time Entries

GET /v2/time_entries/[entry_id]

 

Optional Parameters

  • user_id - Filter by user
  • client_id - Filter by client
  • project_id - Filter by project
  • task_id - Filter by task
  • subtask_id - Filter by subtask
  • hide_billed - Hide billed entries?
  • created_from - From (yyyymmdd)
  • created_to - To (yyyymmdd)
  • limit - Limit number of records returned. Maximum 1000 records
  • offset - Start position for fetching records

 

Sample Response - Single Entry

{
    "data": {
        "entry_id": "1",
        "date": "2015-01-11",
        "date_started": "2015-01-01 09:05:04",
        "date_stopped": "2015-01-01 10:05:04",
        "project_id": "1",
        "task_id": "1",
        "subtask_id": "0",
        "project_name": "Project 1",
        "task_name": "Check log files",
        "subtask_name": "",
        "hours": 1,
        "minutes": 60,
        "seconds": "3600",
        "description": "Log files checked",
        "billed": 0,
        "user_id": "1234",
        "user_name": "John Doe"
    }
}

 

Sample Response - Multiple Entries

{
    "paging": {
        "offset": 0,
        "limit": 1000,
        "total_records": 2
    },
    "data": [
        {
            "entry_id": "1",
            "date": "2015-01-01",
            "date_started": "2015-01-01 09:05:04",
            "date_stopped": "2015-01-01 10:05:04",
            "project_id": "1",
            "task_id": "1",
            "subtask_id": "0",
            "project_name": "Project 1",
            "task_name": "Check log files",
            "subtask_name": "",
            "hours": 1,
            "minutes": 60,
            "seconds": "3600",
            "description": "Morning log files checked",
            "billed": 0,
            "user_id": "1234",
            "user_name": "John Doe"
        },
        {
            "entry_id": "2",
            "date": "2015-01-01",
            "date_started": "2015-01-01 13:05:04",
            "date_stopped": "2015-01-01 13:35:04",
            "project_id": "1",
            "task_id": "1",
            "subtask_id": "0",
            "project_name": "Project 1",
            "task_name": "Check log files",
            "subtask_name": "",
            "hours": 0.5,
            "minutes": 30,
            "seconds": "1800",
            "description": "Afternoon log files checked",
            "billed": 0,
            "user_id": "1234",
            "user_name": "John Doe"
        }
    ]
}

 

Example Calls

Single entry

curl -X GET "https://api.projectbubble.com/v2/time_entries/1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8"

 

Simple list

curl -X GET "https://api.projectbubble.com/v2/time_entries" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8"

 

Filter entries by project

curl -X GET "https://api.projectbubble.com/v2/time_entries?project_id=1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8"

 

Response Codes

200 - OK or "No records found"
401 - Permission error. Your user account (API Key) does not have permission to access time entries.

 

Create Time Entry

POST /v2/time_entries/[task_id]

[task_id] is required

 

Required Parameters

  • seconds - Seconds tracked - required

 

Optional Parameters

  • date - Date of entry (yyyymmdd)
  • subtask_id - Sub-task ID
  • description - Description
  • user_id - Creator user ID

 

Sample Response

{
    "data": {
        "entry_id": "1",
        "date": "2015-01-11",
        "date_started": "2015-01-01 09:05:04",
        "date_stopped": "2015-01-01 10:05:04",
        "project_id": "1",
        "task_id": "1",
        "subtask_id": "0",
        "project_name": "Project 1",
        "task_name": "Check log files",
        "subtask_name": "",
        "hours": 1,
        "minutes": 60,
        "seconds": "3600",
        "description": "Log files checked",
        "billed": 0,
        "user_id": "1234",
        "user_name": "John Doe"
    }
}

 

Example Calls

Simple Entry

curl -X POST "https://api.projectbubble.com/v2/time_entries/1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8" \
-d '{"seconds": 600}'

 

With Description

curl -X POST "https://api.projectbubble.com/v2/time_entries?project_id=1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8" \
-d '{"seconds": 600, "description": "Log files checked"}'

 

Response Codes

201 - Created OK
401 - Permission error. Your user account (API Key) does not have permission to access time entries.
404 - Entry not found

 

Update Time Entry

PUT /v2/time_entry/[entry_id]

[entry_id] is required

 

Required Parameters

  • seconds - Seconds tracked. This is total seconds, this number is not added to existing time.

 

Optional Parameters

  • date_started - Local date of entry (yyyymmdd)
  • task_id - Task ID
  • subtask_id - Sub-task ID
  • seconds - Seconds tracked
  • description - Description
  • user_id - Creator user ID

 

Sample Response

{
    "data": {
        "entry_id": "1",
        "date": "2015-01-11",
        "date_started": "2015-01-01 09:05:04",
        "date_stopped": "2015-01-01 10:05:04",
        "project_id": "1",
        "task_id": "1",
        "subtask_id": "0",
        "project_name": "Project 1",
        "task_name": "Check log files",
        "subtask_name": "",
        "hours": 1,
        "minutes": 60,
        "seconds": "3600",
        "description": "Log files checked",
        "billed": 0,
        "user_id": "1234",
        "user_name": "John Doe"
    }
}

 

Example Calls

Simple Entry

curl -X PUT "https://api.projectbubble.com/v2/time_entries/1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8" \
-d '{"seconds": 600}'

 

With Description

curl -X PUT "https://api.projectbubble.com/v2/time_entries?project_id=1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8" \
-d '{"seconds": 600, "description": "Log files checked again"}'

 

Response Codes

200 - OK
401 - Permission error. Your user account (API Key) does not have permission to access time entries.
404 - Entry not found

 

Delete Time Entry

DELETE /v2/time_entries/[entry_id]

 

Sample Response

[]

 

Example Call

curl -X DELETE "https://api.projectbubble.com/v2/time_entries/1" \
-H "domain: example.projectbubble.com" \
-H "key: 27838413e610417bd866352767fe322ca97d94c8"

 

Response Codes

200 - Entry deleted
400/401 - Permission error. Validation error, see returned text.
404 - Tiem entry not found.
Was this information helpful?
Thankyou. Do you want to add anything else?
Thank you.How can we improve this document?
save

The page cannot be found

The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Please make sure you spelled the page name correctly or use the search box.