Projects
-
Return all of the user's projects
GET /api/1/projects.jsonFormats
json jsonpReturns an array of project objects belonging to authenticated user. Can take a URL-encoded, SQL-like query string and order string which can help filter and order the results that will be returned. So the query string:
name ~= "quia+itaque"which lookes like this when URL encoded:
/api/1/projects.json?where=name~%3D"quia+itaque"&order=name+ascwill return all projects similar to “quia itaque” ordered by name in ascending order.
Click here for more information on the API query string.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to read projects
- 404 Record Not Found - returned if the company with the specified UUID is not found
Example
GET /api/1/projects 200 { "response": [ { "active": "true", "company_uuid": "935956d8-a094-4948-ac47-d84d10a62eff", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "commodi deserunt", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "7dcb0cdb-ea5a-4b36-ae46-6ad3f0d33fcc", "visibility": "private", "activities": [ { "name": "asperiores libero", "project_uuid": "7dcb0cdb-ea5a-4b36-ae46-6ad3f0d33fcc", "uuid": "d6d29e0f-9aeb-4258-b052-4df954a864d6" } ], "grand_total": 0 }, { "active": "true", "company_uuid": "935956d8-a094-4948-ac47-d84d10a62eff", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "repellendus cumque", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "750c6db7-21f8-411f-91e1-f52ac5d755a8", "visibility": "private", "activities": [], "grand_total": 0 }, { "active": "true", "company_uuid": "935956d8-a094-4948-ac47-d84d10a62eff", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "velit excepturi", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "d030294e-8ea0-472b-b77e-da7288227b3d", "visibility": "private", "activities": [ { "name": "praesentium quis", "project_uuid": "d030294e-8ea0-472b-b77e-da7288227b3d", "uuid": "51e3bfc1-f32a-4209-a74f-c9ee0fc72aab" }, { "name": "quia delectus", "project_uuid": "d030294e-8ea0-472b-b77e-da7288227b3d", "uuid": "92cbc8b4-f26d-4cba-8dd8-3a23f6902b2b" } ], "grand_total": 0 } ], "count": 3 }Parameters
-
where
An SQL-like query string which can filter the results that will be returned
-
order
An SQL-like order string, that sets the order of the returned objects
Return all of the user's projects belonging to a company
GET /api/1/companies/:company_uuid/projects.jsonFormats
json jsonpReturns an array of project objects belonging to authenticated user. Can take a URL-encoded, SQL-like query string and order string which can help filter and order the results that will be returned. So the query string:
name ~= "quia+itaque"which lookes like this when URL encoded:
/api/1/projects.json?where=name~%3D"quia+itaque"&order=name+ascwill return all projects similar to “quia itaque” ordered by name in ascending order.
Click here for more information on the API query string.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to read projects
- 404 Record Not Found - returned if the company with the specified UUID is not found
Example
GET /api/1/projects 200 { "response": [ { "active": "true", "company_uuid": "935956d8-a094-4948-ac47-d84d10a62eff", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "commodi deserunt", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "7dcb0cdb-ea5a-4b36-ae46-6ad3f0d33fcc", "visibility": "private", "activities": [ { "name": "asperiores libero", "project_uuid": "7dcb0cdb-ea5a-4b36-ae46-6ad3f0d33fcc", "uuid": "d6d29e0f-9aeb-4258-b052-4df954a864d6" } ], "grand_total": 0 }, { "active": "true", "company_uuid": "935956d8-a094-4948-ac47-d84d10a62eff", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "repellendus cumque", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "750c6db7-21f8-411f-91e1-f52ac5d755a8", "visibility": "private", "activities": [], "grand_total": 0 }, { "active": "true", "company_uuid": "935956d8-a094-4948-ac47-d84d10a62eff", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "velit excepturi", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "d030294e-8ea0-472b-b77e-da7288227b3d", "visibility": "private", "activities": [ { "name": "praesentium quis", "project_uuid": "d030294e-8ea0-472b-b77e-da7288227b3d", "uuid": "51e3bfc1-f32a-4209-a74f-c9ee0fc72aab" }, { "name": "quia delectus", "project_uuid": "d030294e-8ea0-472b-b77e-da7288227b3d", "uuid": "92cbc8b4-f26d-4cba-8dd8-3a23f6902b2b" } ], "grand_total": 0 } ], "count": 3 }Parameters
-
where
An SQL-like query string which can filter the results that will be returned
-
order
An SQL-like order string, that sets the order of the returned objects
-
Return a single project
GET /api/1/projects/:uuid.jsonFormats
json jsonpReturns a single project object belonging the authenticated user.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to read this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
GET /api/1/projects/c4480ba3-bb9b-4cc5-88e6-90ea18e558eb 200 { "response": { "active": "true", "company_uuid": "3e326ff3-f1f1-4ba7-96cf-b887c1446cb5", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "voluptatem dolor", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "c4480ba3-bb9b-4cc5-88e6-90ea18e558eb", "visibility": "private", "activities": [ { "name": "distinctio placeat", "project_uuid": "c4480ba3-bb9b-4cc5-88e6-90ea18e558eb", "uuid": "10863ba2-858b-488a-9db2-a8437493d951" }, { "name": "rerum ratione", "project_uuid": "c4480ba3-bb9b-4cc5-88e6-90ea18e558eb", "uuid": "2a41355c-1ccf-4260-a13e-03c42c114e9a" } ], "grand_total": 0 } }Return a single project belonging to a company
GET /api/1/companies/:company_iiid/projects/:uuid.jsonFormats
json jsonpReturns a single project object belonging the authenticated user.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to read this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
GET /api/1/projects/c4480ba3-bb9b-4cc5-88e6-90ea18e558eb 200 { "response": { "active": "true", "company_uuid": "3e326ff3-f1f1-4ba7-96cf-b887c1446cb5", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "voluptatem dolor", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "c4480ba3-bb9b-4cc5-88e6-90ea18e558eb", "visibility": "private", "activities": [ { "name": "distinctio placeat", "project_uuid": "c4480ba3-bb9b-4cc5-88e6-90ea18e558eb", "uuid": "10863ba2-858b-488a-9db2-a8437493d951" }, { "name": "rerum ratione", "project_uuid": "c4480ba3-bb9b-4cc5-88e6-90ea18e558eb", "uuid": "2a41355c-1ccf-4260-a13e-03c42c114e9a" } ], "grand_total": 0 } } -
Create a new project
POST /api/1/projects.jsonFormats
json jsonpCreates a new project. Requires a valid project object to be posted.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to create projects
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 422 Invalid Record - if the project fails validation. An error message will be returned, declaring the error.
Example
POST /api/1/projects { "project": { "name": "illum similique", "company_uuid": "6c66f400-0e72-489b-901d-a6100b04d06e", "visibility": "private" } } 200 { "response": { "active": "true", "company_uuid": "6c66f400-0e72-489b-901d-a6100b04d06e", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "illum similique", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "3bba5c8e-33ef-477a-90e6-708c3795dc16", "visibility": "private", "activities": [], "running": false, "grand_total": 0, "running_total": 0 } }Parameters
-
project
A project JSON object.
-
uuid
A UUID to identify the project. If null, one will be generated
-
name
Name of the project
-
active
Indicates if the project can be punched in to or not
-
company_uuid
UUID of the company the project belongs to
-
visibility
Sets the visibility of the project. Public projects will be added to all staff; Private projects will only be available to the owner; Custom projects are only available to users in the user_uuids array
-
time_limit_string
String representation of the time limit. When saving, this value will be parsed and will populate time limit (if the supplied time limit is null)
-
time_limit
Time limit for this project (in seconds)
-
default_tags
An comma separated list of tags that will automatically applied to new running shifts when punching in
-
notes
Notes associated with this project
-
hourly_rate
String representation of the hourly rate. Will include currency symbol. When saving, this will be parsed and set hourly_rate_cents (if hourly_rate_cents is null)
-
hourly_rate_cents
Hourly rate in cents.
-
running
Is true if the project is currently running. Will be null if there is no time limit. This value is ignored when creating or updating a project.
-
grand_total
The number of seconds already punched in to this project by all users. If the project is punched in to, the grand_total will include time up until when the request is made
-
running_total
The number of seconds already punched in to this project by just the authenticated user. If the project is punched in to, the running_total will include time up until when the request is made.
-
time_left
Returns the number of seconds lefts before the project becomes overdue. This value is ignored when creating or updating a project
-
overdue
Is true if the project is overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
nearly_overdue
Is true if the project is nearly overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
started_at
The start time of the currently running shift. Will be null if the project is not running. This value is ignored when creating or update a project. Formatted as the number of seconds since EPOCH (in seconds).
-
activities
Array of activity objects
-
tag_list
An comma separated list of tags associated with the company
-
invoice_amount
invoice_amount
-
billable_by_default
billable_by_default
-
Create a new project belonging to a company
POST /api/1/companies/:company_uuid/projects.jsonFormats
json jsonpCreates a new project. Requires a valid project object to be posted.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to create projects
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 422 Invalid Record - if the project fails validation. An error message will be returned, declaring the error.
Example
POST /api/1/projects { "project": { "name": "illum similique", "company_uuid": "6c66f400-0e72-489b-901d-a6100b04d06e", "visibility": "private" } } 200 { "response": { "active": "true", "company_uuid": "6c66f400-0e72-489b-901d-a6100b04d06e", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "illum similique", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "3bba5c8e-33ef-477a-90e6-708c3795dc16", "visibility": "private", "activities": [], "running": false, "grand_total": 0, "running_total": 0 } }Parameters
-
project
A project JSON object.
-
uuid
A UUID to identify the project. If null, one will be generated
-
name
Name of the project
-
active
Indicates if the project can be punched in to or not
-
company_uuid
UUID of the company the project belongs to
-
visibility
Sets the visibility of the project. Public projects will be added to all staff; Private projects will only be available to the owner; Custom projects are only available to users in the user_uuids array
-
time_limit_string
String representation of the time limit. When saving, this value will be parsed and will populate time limit (if the supplied time limit is null)
-
time_limit
Time limit for this project (in seconds)
-
default_tags
An comma separated list of tags that will automatically applied to new running shifts when punching in
-
notes
Notes associated with this project
-
hourly_rate
String representation of the hourly rate. Will include currency symbol. When saving, this will be parsed and set hourly_rate_cents (if hourly_rate_cents is null)
-
hourly_rate_cents
Hourly rate in cents.
-
running
Is true if the project is currently running. Will be null if there is no time limit. This value is ignored when creating or updating a project.
-
grand_total
The number of seconds already punched in to this project by all users. If the project is punched in to, the grand_total will include time up until when the request is made
-
running_total
The number of seconds already punched in to this project by just the authenticated user. If the project is punched in to, the running_total will include time up until when the request is made.
-
time_left
Returns the number of seconds lefts before the project becomes overdue. This value is ignored when creating or updating a project
-
overdue
Is true if the project is overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
nearly_overdue
Is true if the project is nearly overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
started_at
The start time of the currently running shift. Will be null if the project is not running. This value is ignored when creating or update a project. Formatted as the number of seconds since EPOCH (in seconds).
-
activities
Array of activity objects
-
tag_list
An comma separated list of tags associated with the company
-
invoice_amount
invoice_amount
-
billable_by_default
billable_by_default
-
-
Update a project
PUT /api/1/projects/:id.jsonFormats
json jsonpUpdate an existing project. Requires a valid project object to be posted. Missing attributes from the object will be merged with the existing project.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to update this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
- 422 Invalid Record - if the project fails validation. An error message will be returned, declaring the error.
Example
PUT /api/1/projects/7cadb71d-2eeb-4ee3-8067-fd35bb8b3512 { "project": { "name": "mollitia saepe", "company_uuid": "d0ad24cb-d74d-4cfe-bae9-4314bef82237", "visibility": "private" } } 200 { "response": { "active": "true", "company_uuid": "d0ad24cb-d74d-4cfe-bae9-4314bef82237", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "mollitia saepe", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "7cadb71d-2eeb-4ee3-8067-fd35bb8b3512", "visibility": "private", "activities": [ { "name": "dolores quidem", "project_uuid": "7cadb71d-2eeb-4ee3-8067-fd35bb8b3512", "uuid": "9551368b-8bb2-4596-ab38-e313c68d0679" }, { "name": "est fugiat", "project_uuid": "7cadb71d-2eeb-4ee3-8067-fd35bb8b3512", "uuid": "87107bdd-7c31-48a2-9ddf-6c2170ffe858" } ], "running": false, "grand_total": 0, "running_total": 0 } }Parameters
-
project
A project JSON object.
-
uuid
A UUID to identify the project. If null, one will be generated
-
name
Name of the project
-
active
Indicates if the project can be punched in to or not
-
company_uuid
UUID of the company the project belongs to
-
visibility
Sets the visibility of the project. Public projects will be added to all staff; Private projects will only be available to the owner; Custom projects are only available to users in the user_uuids array
-
time_limit_string
String representation of the time limit. When saving, this value will be parsed and will populate time limit (if the supplied time limit is null)
-
time_limit
Time limit for this project (in seconds)
-
default_tags
An comma separated list of tags that will automatically applied to new running shifts when punching in
-
notes
Notes associated with this project
-
hourly_rate
String representation of the hourly rate. Will include currency symbol. When saving, this will be parsed and set hourly_rate_cents (if hourly_rate_cents is null)
-
hourly_rate_cents
Hourly rate in cents.
-
running
Is true if the project is currently running. Will be null if there is no time limit. This value is ignored when creating or updating a project.
-
grand_total
The number of seconds already punched in to this project by all users. If the project is punched in to, the grand_total will include time up until when the request is made
-
running_total
The number of seconds already punched in to this project by just the authenticated user. If the project is punched in to, the running_total will include time up until when the request is made.
-
time_left
Returns the number of seconds lefts before the project becomes overdue. This value is ignored when creating or updating a project
-
overdue
Is true if the project is overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
nearly_overdue
Is true if the project is nearly overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
started_at
The start time of the currently running shift. Will be null if the project is not running. This value is ignored when creating or update a project. Formatted as the number of seconds since EPOCH (in seconds).
-
activities
Array of activity objects
-
tag_list
An comma separated list of tags associated with the company
-
invoice_amount
invoice_amount
-
billable_by_default
billable_by_default
-
Update a project belonging to a company
PUT /api/1/companies/:company_uuid/projects/:uuid.jsonFormats
json jsonpUpdate an existing project. Requires a valid project object to be posted. Missing attributes from the object will be merged with the existing project.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to update this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
- 422 Invalid Record - if the project fails validation. An error message will be returned, declaring the error.
Example
PUT /api/1/projects/7cadb71d-2eeb-4ee3-8067-fd35bb8b3512 { "project": { "name": "mollitia saepe", "company_uuid": "d0ad24cb-d74d-4cfe-bae9-4314bef82237", "visibility": "private" } } 200 { "response": { "active": "true", "company_uuid": "d0ad24cb-d74d-4cfe-bae9-4314bef82237", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "mollitia saepe", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "7cadb71d-2eeb-4ee3-8067-fd35bb8b3512", "visibility": "private", "activities": [ { "name": "dolores quidem", "project_uuid": "7cadb71d-2eeb-4ee3-8067-fd35bb8b3512", "uuid": "9551368b-8bb2-4596-ab38-e313c68d0679" }, { "name": "est fugiat", "project_uuid": "7cadb71d-2eeb-4ee3-8067-fd35bb8b3512", "uuid": "87107bdd-7c31-48a2-9ddf-6c2170ffe858" } ], "running": false, "grand_total": 0, "running_total": 0 } }Parameters
-
project
A project JSON object.
-
uuid
A UUID to identify the project. If null, one will be generated
-
name
Name of the project
-
active
Indicates if the project can be punched in to or not
-
company_uuid
UUID of the company the project belongs to
-
visibility
Sets the visibility of the project. Public projects will be added to all staff; Private projects will only be available to the owner; Custom projects are only available to users in the user_uuids array
-
time_limit_string
String representation of the time limit. When saving, this value will be parsed and will populate time limit (if the supplied time limit is null)
-
time_limit
Time limit for this project (in seconds)
-
default_tags
An comma separated list of tags that will automatically applied to new running shifts when punching in
-
notes
Notes associated with this project
-
hourly_rate
String representation of the hourly rate. Will include currency symbol. When saving, this will be parsed and set hourly_rate_cents (if hourly_rate_cents is null)
-
hourly_rate_cents
Hourly rate in cents.
-
running
Is true if the project is currently running. Will be null if there is no time limit. This value is ignored when creating or updating a project.
-
grand_total
The number of seconds already punched in to this project by all users. If the project is punched in to, the grand_total will include time up until when the request is made
-
running_total
The number of seconds already punched in to this project by just the authenticated user. If the project is punched in to, the running_total will include time up until when the request is made.
-
time_left
Returns the number of seconds lefts before the project becomes overdue. This value is ignored when creating or updating a project
-
overdue
Is true if the project is overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
nearly_overdue
Is true if the project is nearly overdue. Will be null if there is no time limit. This value is ignored when creating or update a project
-
started_at
The start time of the currently running shift. Will be null if the project is not running. This value is ignored when creating or update a project. Formatted as the number of seconds since EPOCH (in seconds).
-
activities
Array of activity objects
-
tag_list
An comma separated list of tags associated with the company
-
invoice_amount
invoice_amount
-
billable_by_default
billable_by_default
-
-
Delete a project
DELETE /api/1/projects/:id.jsonFormats
json jsonpDeletes the project associated with the supplied uuid
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to delete this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/f40cdc1b-c68b-4cdb-82a5-637c9e12b3ae 200
Delete a project belonging to a company
DELETE /api/1/companies/:company_uuid/projects/:uuid.jsonFormats
json jsonpDeletes the project associated with the supplied uuid
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to delete this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/f40cdc1b-c68b-4cdb-82a5-637c9e12b3ae 200
-
Punch in to a project
POST /api/1/projects/:id/punch_in.jsonFormats
json jsonpPunch in to a project. Can take an activity_uuid. Punching in to a new projects will punch out of any running projects
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to punch in to this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/859d8679-b803-4f0d-bf00-4c522d829209/punch_in 200 { "response": { "active": "true", "company_uuid": "f18d8bdc-080c-4de3-b028-01e5087521f4", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "sunt similique", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "visibility": "private", "activities": [ { "name": "ratione eum", "project_uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "uuid": "7951280c-18fa-46a7-b34a-9032a17a6dd1" }, { "name": "aperiam natus", "project_uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "uuid": "18991cdf-5e8a-4b6d-85cf-94c2cf0c4613" } ], "running": true, "grand_total": 0, "running_total": 0, "started_at": 1376633965, "current_shift": { "billable": true, "notes": null, "project_uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "start": "2013-08-16T06:19:25Z", "stop": null, "time_zone": "Australia/Perth", "time_zone_offset": null, "user_uuid": "0129a92a-5dd1-4da9-b4c6-ff5aeaf19d24", "uuid": "bd3aa18c-4b2a-46de-ad96-99708bd3cf9f", "activity_uuid": null, "tag_list": [] }, "shift_notes": null, "shift_tag_list": "", "shift_billable": true } }Punch in to a project belonging to a company
POST /api/1/companies/:company_uuid/projects/:uuid/punch_in.jsonFormats
json jsonpPunch in to a project. Can take an activity_uuid. Punching in to a new projects will punch out of any running projects
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to punch in to this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/859d8679-b803-4f0d-bf00-4c522d829209/punch_in 200 { "response": { "active": "true", "company_uuid": "f18d8bdc-080c-4de3-b028-01e5087521f4", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "sunt similique", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "visibility": "private", "activities": [ { "name": "ratione eum", "project_uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "uuid": "7951280c-18fa-46a7-b34a-9032a17a6dd1" }, { "name": "aperiam natus", "project_uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "uuid": "18991cdf-5e8a-4b6d-85cf-94c2cf0c4613" } ], "running": true, "grand_total": 0, "running_total": 0, "started_at": 1376633965, "current_shift": { "billable": true, "notes": null, "project_uuid": "859d8679-b803-4f0d-bf00-4c522d829209", "start": "2013-08-16T06:19:25Z", "stop": null, "time_zone": "Australia/Perth", "time_zone_offset": null, "user_uuid": "0129a92a-5dd1-4da9-b4c6-ff5aeaf19d24", "uuid": "bd3aa18c-4b2a-46de-ad96-99708bd3cf9f", "activity_uuid": null, "tag_list": [] }, "shift_notes": null, "shift_tag_list": "", "shift_billable": true } } -
Punch out of a project
POST /api/1/projects/:id/punch_out.jsonFormats
json jsonpPunch out of a running project. Can take notes.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to punch in to this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/fd355ce3-1cbe-454e-bc3f-648404f5030a/punch_out 200 { "response": { "active": "true", "company_uuid": "a6f6b8d8-4829-4e37-a2c3-a8ef5d3d37c3", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "consequatur et", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "fd355ce3-1cbe-454e-bc3f-648404f5030a", "visibility": "private", "activities": [ { "name": "perspiciatis aut", "project_uuid": "fd355ce3-1cbe-454e-bc3f-648404f5030a", "uuid": "f748b796-d227-44c2-a644-7b3a5bbcde85" }, { "name": "voluptates ut", "project_uuid": "fd355ce3-1cbe-454e-bc3f-648404f5030a", "uuid": "d2c6dcc3-6b2d-4889-bafc-de7e53ad2ceb" } ], "grand_total": 0 } }Punch out of a project belonging to a company
POST /api/1/companies/:company_uuid/projects/:uuid/punch_out.jsonFormats
json jsonpPunch out of a running project. Can take notes.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to punch in to this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/fd355ce3-1cbe-454e-bc3f-648404f5030a/punch_out 200 { "response": { "active": "true", "company_uuid": "a6f6b8d8-4829-4e37-a2c3-a8ef5d3d37c3", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "consequatur et", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "fd355ce3-1cbe-454e-bc3f-648404f5030a", "visibility": "private", "activities": [ { "name": "perspiciatis aut", "project_uuid": "fd355ce3-1cbe-454e-bc3f-648404f5030a", "uuid": "f748b796-d227-44c2-a644-7b3a5bbcde85" }, { "name": "voluptates ut", "project_uuid": "fd355ce3-1cbe-454e-bc3f-648404f5030a", "uuid": "d2c6dcc3-6b2d-4889-bafc-de7e53ad2ceb" } ], "grand_total": 0 } } -
Sign off a project
POST /api/1/projects/:id/sign_off.jsonFormats
json jsonpSign off from a project. Signed off projects can no longer be punched in to.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to sign off this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/38101a69-801a-4eff-b02f-89990bb96094/sign_off 200 { "response": { "active": "false", "company_uuid": "d31c5837-21f6-40a0-8202-4a84081cdc2b", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "cupiditate sunt", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "38101a69-801a-4eff-b02f-89990bb96094", "visibility": "private", "activities": [ { "name": "sed quis", "project_uuid": "38101a69-801a-4eff-b02f-89990bb96094", "uuid": "feb1633c-6b0d-4599-bb16-2603d9482712" }, { "name": "saepe repellendus", "project_uuid": "38101a69-801a-4eff-b02f-89990bb96094", "uuid": "8b012d27-27ad-48b3-843f-a79a8dabb035" } ], "grand_total": 0 } }Sign off a project belonging to a company
POST /api/1/companies/:company_uuid/projects/:uuid/sign_off.jsonFormats
json jsonpSign off from a project. Signed off projects can no longer be punched in to.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to sign off this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/38101a69-801a-4eff-b02f-89990bb96094/sign_off 200 { "response": { "active": "false", "company_uuid": "d31c5837-21f6-40a0-8202-4a84081cdc2b", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "cupiditate sunt", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "38101a69-801a-4eff-b02f-89990bb96094", "visibility": "private", "activities": [ { "name": "sed quis", "project_uuid": "38101a69-801a-4eff-b02f-89990bb96094", "uuid": "feb1633c-6b0d-4599-bb16-2603d9482712" }, { "name": "saepe repellendus", "project_uuid": "38101a69-801a-4eff-b02f-89990bb96094", "uuid": "8b012d27-27ad-48b3-843f-a79a8dabb035" } ], "grand_total": 0 } } -
Reopen a project
POST /api/1/projects/:id/reopen.jsonFormats
json jsonpReopen a project. A reopen project can be punched in to.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to reopen this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443/reopen 200 { "response": { "active": "true", "company_uuid": "c6fc6f8f-55b7-4b83-b532-9e70046a02c9", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "doloribus ducimus", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443", "visibility": "private", "activities": [ { "name": "impedit et", "project_uuid": "1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443", "uuid": "7b857e54-e87e-44bf-b70c-3ee8ef0ab652" }, { "name": "atque soluta", "project_uuid": "1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443", "uuid": "6306baed-caab-4288-8434-8237df5bf7d3" } ], "grand_total": 0 } }Reopen a project belonging to a company
POST /api/1/companies/:company_uuid/projects/:uuid/reopen.jsonFormats
json jsonpReopen a project. A reopen project can be punched in to.
Errors
- 401 Unauthorized
- 403 Read Denied - if the user is not allowed to reopen this project
- 404 Record Not Found - returned if the company with the specified UUID is not found
- 404 Record Not Found - returned if the project with the specified UUID is not found
Example
DELETE /api/1/projects/1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443/reopen 200 { "response": { "active": "true", "company_uuid": "c6fc6f8f-55b7-4b83-b532-9e70046a02c9", "default_tags": null, "hourly_rate": null, "hourly_rate_cents": null, "name": "doloribus ducimus", "notes": null, "time_limit": null, "time_limit_string": null, "uuid": "1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443", "visibility": "private", "activities": [ { "name": "impedit et", "project_uuid": "1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443", "uuid": "7b857e54-e87e-44bf-b70c-3ee8ef0ab652" }, { "name": "atque soluta", "project_uuid": "1b2fc2f9-1bd4-43c6-8de7-0c77b08ee443", "uuid": "6306baed-caab-4288-8434-8237df5bf7d3" } ], "grand_total": 0 } }