WorkZone API

Base URL: /api

Schemes: https

Summary

Tag: CATEGORIES

OperationDescription
GET /categories

Returns a list of categories of the specified category type.

Tag: PROJECTS

OperationDescription
GET /projects/{projectID}

Returns info about the specified project.

GET /projects

Returns a list of projects based on the specified filters.

POST /projects

Adds a new project.

GET /projects/{projectID}/tasks

Returns a list of tasks in the specified project.

POST /projects/{projectID}/tasks

Adds a new task to the specified project.

GET /projects/tasks

Returns a list of tasks based on the specified filters.

PUT /projects/tasks/{taskID}

Updates the specified task.

PUT /projects/updateStatus

Updates the status of the specified project.

Tag: REPORTS

OperationDescription
GET /reports/timeByProject

Hours by Project Repor

GET /reports/statusByProject

Status by Project Report

GET /reports/toDoList

To-do List

Tag: RESOURCES

OperationDescription
GET /resources

Returns a list of resources.

Tag: USERS

OperationDescription
GET /users/groups

Returns a list of user groups.

GET /users

Returns a list of users.

Tag: WORKSPACES

OperationDescription
GET /workspaces

Returns a list of workspaces.

Paths

Returns a list of categories of the specified category type.

GET /categories

Tags: CATEGORIES

Returns a list of categories of the specified category type.

categoryType

Filter for projects that start within this time period.

query string ,x , ∈ { "all" (default) , "task" , "project" , "calendar" , "message" }

application/json

200 OK

successful operation

Returns info about the specified project.

GET /projects/{projectID}

Tags: PROJECTS

Returns info about the specified project.

projectID

ID of project for which to retrieve info.

path integer (int32)

application/json

200 OK

Results successfully returned.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Projects not found.

Returns a list of projects based on the specified filters.

GET /projects

Tags: PROJECTS

Returns a list of projects based on the specified filters.

projectStatus

Filter for projects with this status.

query string , x ∈ { all , active (default) , complete , inactive , archived }
workspaceID

Filter for projects in a specific workspace. Workspace IDs can be found by calling the /workspaces API.

query integer (int32)
startDateRange

Filter for projects that start within this time period.

query string , x ∈ { thisMonth , lastMonth , thisYear , allTime (default) }
startDateFrom

Use to specify a date range for filtering projects by start date. Format must be YYYY-MM-DD. startDateFrom and startDateTo must be specified together, and will override startDateRange.

query string
startDateTo

Use to specify a date range for filtering projects by start date. Format must be YYYY-MM-DD. startDateFrom and startDateTo must be specified together, and will override startDateRange.

query string
endDateRange

Filter for projects that end within this time period.

query string , x ∈ { thisMonth , lastMonth , thisYear , allTime (default) }
endDateFrom

Use to specify a date range for filtering projects by end date. Format must be YYYY-MM-DD. endDateFrom and endDateTo must be specified together, and will override endDateRange.

query string
endDateTo

Use to specify a date range for filtering projects by end date. Format must be YYYY-MM-DD. endDateFrom and endDateTo must be specified together, and will override endDateRange.

query string
createDateRange

Filter for projects that were created within this time period.

query string , x ∈ { thisMonth , lastMonth , thisYear , allTime (default) }
createDateFrom

Use to specify a date range for filtering projects by create date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. createDateFrom and createDateTo must be specified together, and will override createDateRange.

query string
createDateTo

Use to specify a date range for filtering projects by create date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. createDateFrom and createDateTo must be specified together, and will override createDateRange.

query string
userID

Filter for projects that are assigned to this user. User IDs can be found by calling the /users API.

query integer (int32)
resourceID

Filter for projects that are assigned to this resource. Resource IDs can be found by calling the /resources API.

query integer (int32)
projectCategoryID

Filter for projects with this category. Category IDs can be found by calling the /categories API with the categoryType parameter set to 'project'.

query integer (int32)
page

Max page size is 500 projects. If you need to get more than 500 projects, use page=2, etc.

query integer (int32) (default: 1)
pageSize

Max page size is 500 projects.

query integer (int32) (default: 50)

application/json

200 OK

Results successfully returned.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Project(s) not found.

Adds a new project.

POST /projects

Tags: PROJECTS

Adds a new project. Upon success, the new Project record will be returned.

workspaceID

ID of workspace in which the new project will be created.

query integer (int32)
name

Project name

query string

application/json

200 OK

Project successfully created.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Workspace not found.

Returns a list of tasks in the specified project.

GET /projects/{projectID}/tasks

Tags: PROJECTS

Returns a list of tasks in the specified project.

projectID

ID of project for which to retrieve info.

path integer (int32)
projectState

Filter for projects with this state.

query string , x ∈ { all , active (default) , complete , inactive , archived }
createDateFrom

Use to specify a date range for filtering tasks by create date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. createDateFrom and createDateTo must be specified together.

query string
createDateTo

Use to specify a date range for filtering tasks by create date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. createDateFrom and createDateTo must be specified together.

query string
completeDateFrom

Use to specify a date range for filtering tasks by complete date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. completeDateFrom and completeDateTo must be specified together.

query string
completeDateTo

Use to specify a date range for filtering tasks by complete date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. completeDateFrom and completeDateTo must be specified together.

query string
userID

Filter for tasks that are assigned to this user. User IDs can be found by calling the /users API.

query integer (int32)
resourceID

Filter for tasks that are assigned to this resource. Resource IDs can be found by calling the /resources API.

query integer (int32)
includeSummaryTasks

Also include summary tasks that pass filters.

query string , x ∈ { true (default) , false }
page

Max page size is 500 tasks. If you need to get more than 500 tasks, use page=2, etc.

query integer (int32) (default: 1)
pageSize

Max page size is 500 tasks.

query integer (int32) (default: 50)

application/json

200 OK

Results successfully returned.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Project not found.

Adds a new task to the specified project.

POST /projects/{projectID}/tasks

Tags: PROJECTS

Adds a new task to the specified project. Upon success, the new Task record will be returned.

projectID

ID of project to which the new task will be added.

path integer (int32)
name

Task name

query string
description

Task description

query string

application/json

200 OK

Task successfully created.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Project not found.

Returns a list of tasks based on the specified filters.

GET /projects/tasks

Tags: PROJECTS

Returns a list of tasks based on the specified filters.

workspaceID

Specifies the workspace for which to retrieve project info.

query integer (int32)
projectID

ID of project for which to retrieve info.

query integer (int32)
projectState

Filter for projects with this state.

query string , x ∈ { all , active (default) , complete , inactive , archived }
createDateFrom

Use to specify a date range for filtering tasks by create date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. createDateFrom and createDateTo must be specified together.

query string
createDateTo

Use to specify a date range for filtering tasks by create date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. createDateFrom and createDateTo must be specified together.

query string
completeDateFrom

Use to specify a date range for filtering tasks by complete date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. completeDateFrom and completeDateTo must be specified together.

query string
completeDateTo

Use to specify a date range for filtering tasks by complete date. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. completeDateFrom and completeDateTo must be specified together.

query string
userID

Filter for tasks that are assigned to this user. User IDs can be found by calling the /users API.

query integer (int32)
resourceID

Filter for tasks that are assigned to this resource. Resource IDs can be found by calling the /resources API.

query integer (int32)
includeSummaryTasks

Also include summary tasks that pass filters.

query string , x ∈ { true (default) , false }
page

Max page size is 500 tasks. If you need to get more than 500 tasks, use page=2, etc.

query integer (int32) (default: 1)
pageSize

Max page size is 500 tasks.

query integer (int32) (default: 50)

application/json

200 OK

Results successfully returned.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Project not found.

Updates the specified task.

PUT /projects/tasks/{taskID}

Tags: PROJECTS

Updates the specified task. Upon success, the updated record will be returned.

taskID

ID of the task to update.

path integer (int32)
isComplete

Task status

query string , x ∈ { true , false }

application/json

200 OK

Status successfully updated.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Task not found.

Updates the status of the specified project.

PUT /projects/updateStatus

Tags: PROJECTS

Updates the status of the specified project. Upon success, the updated record will be returned.

projectID

ID of the project to update.

query integer (int32)
projectStatus

Project status

query string , x ∈ { active (default) , complete , inactive , archived }

application/json

200 OK

Status successfully updated.

400 Bad Request

Invalid paramaters supplied.

404 Not Found

Project not found.

Hours by Project Repor

GET /reports/timeByProject

Tags: REPORTS

Runs the Hours by Project report, with several filtering options.

workspaceID

Workspace IDs can be found by calling the /workspaces API.

query integer (int32)
projectID

Project IDs can be found by calling the /projects API.

query integer (int32)
dateRange

Filter for time entries that occurred within this time period.

query string , x ∈ { thisMonth (default) , lastMonth , thisYear , allTime }
startDate

Use to specify a date range for filtering time entries. Format must be YYYY-MM-DD. startDate and endDate must be specified together, and will override dateRange.

query string
endDate

Use to specify a date range for filtering time entries. Format must be YYYY-MM-DD. startDate and endDate must be specified together, and will override dateRange.

query string
enteredDateRange

Filter for time entries that were entered within this time period.

query string , x ∈ { thisMonth , lastMonth , thisYear , allTime (default) }
enteredStartDate

Use to specify a date range for filtering when time entries were entered. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. enteredStartDate and enteredEndDate must be specified together, and will override enteredDateRange.

query string
enteredEndDate

Use to specify a date range for filtering when time entries were entered. Format must be YYYY-MM-DD for dates, or YYYY-MM-DDThh:mm:ss.SSS-hh:mm for dates with timestamps and timezones. enteredStartDate and enteredEndDate must be specified together, and will override enteredDateRange.

query string
projectStatus

Project status

query string , x ∈ { all , active (default) , complete , inactive }
projectCategoryID

Category IDs can be found by calling the /categories API with the categoryType parameter set to 'project'.

query integer (int32)
page

Use to specify which page of the paginated results you want to retrieve. If set to 0 (the default), results will not be paginated, and you will receive all records on one page.

query integer (int32)
pageSize

Use to specify number of records per page of the paginated results. Default pageSize is 50 records.

query integer (int32) (default: 50)

application/json

200 OK

successful operation

Status by Project Report

GET /reports/statusByProject

Tags: REPORTS

Runs the Status by Project report, with filtering options.

workspaceID

Workspace IDs can be found by calling the /workspaces API.

query integer (int32)
userID

User IDs can be found by calling the /users API.

query integer (int32)
resourceID

Resource IDs can be found by calling the /resources API.

query integer (int32)
projectStatus

Project status

query string , x ∈ { all (default) , onSchedule , atRiskOrLate }
page

Use to specify which page of the paginated results you want to retrieve. If set to 0 (the default), results will not be paginated, and you will receive all records on one page.

query integer (int32)
pageSize

Use to specify number of records per page of the paginated results. Default pageSize is 50 records.

query integer (int32) (default: 50)

application/json

200 OK

successful operation

To-do List

GET /reports/toDoList

Tags: REPORTS

Runs the To-do List report, with filtering options.

workspaceID

Workspace IDs can be found by calling the /workspaces API.

query integer (int32)
userID

User IDs can be found by calling the /users API.

query integer (int32)
resourceID

Resource IDs can be found by calling the /resources API.

query integer (int32)
groupID

Group IDs can be found by calling the /users/groups API.

query integer (int32)
days

Number of days into the future to return items from.

query integer (int32) , x ∈ { 1 , 3 , 7 (default) , 14 , 30 }
categoryID

Filter by TASK or CALENDAR category. Category IDs can be found by calling the /categories API and setting categoryType parameter to either "task" or "calendar".

query integer (int32)
priority

Task priority, between 0 and 5.

query integer (int32) , x ∈ { 0 (default) , 1 , 2 , 3 , 4 , 5 }

application/json

200 OK

successful operation

Returns a list of resources.

GET /resources

Tags: RESOURCES

Returns a list of resources.

application/json

200 OK

successful operation

Returns a list of user groups.

GET /users/groups

Tags: USERS

Returns a list of user groups, optionally filtered by which workspace they are assigned to.

workspaceID

Workspace IDs can be found by calling the /workspaces API.

query integer (int32)

application/json

200 OK

successful operation

Returns a list of users.

GET /users

Tags: USERS

Returns a list of users based on user type and which workspaces they are assigned to.

userType

User type

query string , x ∈ { all , associate , administrator (default) , manager , contributor , reviewer , partner }
workspaceID

Workspace IDs can be found by calling the /workspaces API.

query integer (int32)

application/json

200 OK

successful operation

Returns a list of workspaces.

GET /workspaces

Tags: WORKSPACES

Returns a list of workspaces.

application/json

200 OK

successful operation