API Changes
This page contains a list of past and upcoming changes of our API. We try our best to prevent breaking changes, but sometimes we can't avoid it in order to release a new awesome feature 🚀
This section shows upcoming changes. Breaking changes are additionally marked 🚨
We are going to remove the
ResourceVersion
property from all API models.These changes are happening in the API in the future, release date tbd.
The
Key
property of Projects, Tasks and Users as well as the NumberCount
property of Tasks have been removed. These properties were never used in the awork web app, so we're removing them from the API models as well.These changes are happening in the API on 26.05.2023 in the evening.
This section shows you recent changes that are already live in our API
The
EntityId
in the Task model is deprecated and will be removed in the future. Use UserId
for private tasks and ProjectId
for project tasks instead.These changes are happening in the API on 05.05.2023 in the evening.
The following nested fields have been removed from the model for performance reasons:
Task.Project.Teams
Task.Project.Tags
Task.Company.Tags
Task.Assignees.Teams
Task.Assignees.Tags
These changes are happening in the API on 05.05.2023 in the evening.
We are adding a new feature called Subtasks, therefore we are renaming the currently existing Subtasks to Checklists. The new Subtasks will be more powerful and bring a new level of planning to awork.
In the following endpoints,
subtasks
will be renamed to checklists
. The functionality remains the same.
This change is happening in the API on 03.03.2023 in the evening.
We are introducing API rate limits that will limit the number of requests external API clients can make to a workspace. These limits depend on the plan of the workspace. The limits are shared by all external client applications across the workspace. Please see Rate Limits for details.
This change is happening in the API on 03.03.2023 in the evening.
We are deprecating the endpoint
GET /users/{userId}/workload
in favour of the new one:
GET /users/workload
This new endpoint will provide multiple user results in a single call, plus it has the option to fetch the details of the workload calculation.
The legacy endpoint will still be active up to 01.01.2023.
Then it will be removed.
With the introduction of the project time bookings, we are migrating all the project member capacities to them.
As such, all the related endpoints are being deprecated and will not have any meaningful effect on the workload calculations:
GET /projects/{projectId}/members/{projectMemberId}/capacity
PUT /projects/{projectId}/members/{projectMemberId}/capacity
GET /projects/{projectId}/members/capacities
We will remove those endpoints and the related data starting from 01.01.2023
The
User
model currently has a CapacityPerWeek
property, which we're removing soon. This property is getting it's own endpoint: /users/{userId}/capacity
This endpoint has
GET
and PUT
methods to retrieve and edit the user's weekly capacity. The GET
model looks like this:{
"userId": "b9fd0955-9252-4746-aba5-f6b82ba24d56",
"capacityPerWeek": 144000
}
For a short time, both the property and the new endpoints will exist in parallel to be backward-compatible. We will remove the old property starting in March 2022. Please update your API client accordingly.
Currently, projects have one property called
IsBillableByDefault
,which decides whether time entries created on that project are marked as billable or not. This is either set by the project template, or if no project template was used for creation, by whether the project has a company or not. In the case of a company, the times are marked as billed, otherwise the times are marked as not billable.The problem is, that the project template always overrules this company rule. We need to have more flexibility here, so we change the
IsBillableByDefault
property on the project template from a boolean
to a string
field with the possible values: on, off, auto
.When the
auto
option is set, the IsBillableByDefault
of the project on project creation will be set according to the company rule, so true
if a company is set and false
if no company is set.This release adds the highly requested feature to assign multiple users to the same task. As a result, we reworked the endpoints that allow assigning multiple users to tasks and task templates as well as automations.
If you want to use this feature, please enable the task setting "Allow multi-user assignment" in awork in the workspace settings page. Alternatively, you can activate the setting by calling the tasks/settings endpoint from below with the setting name
allow-multi-user-assignment
.POST /tasks/assignUsers
POST /tasks/unassignUsers
post
https://api.awork.io/v1/
tasks/{taskId}/setAssignees
tasks/{taskId}/setAssignees
post
https://api.awork.io/v1/
taskTemplates/{tasktemplateId}/setAssignees
taskTemplates/{taskTemplateId}/setAssignees
post
https://api.awork.io/v1/
tasks/settings
tasks/settings
post
https://api.awork.io/v1/
tasks/batch/{operation}
tasks/batch/assignusers 🚨
Additionally, these automation models were changed 🚨
For the action
assign-user-to-task
, there is now an additional ActionValue
removeOldAssignments
. In order to assign multiple users to a task, you need the set this value to false
. You can also add multiple assign-user-to-task
actions to an automation in order to assign multiple users for a single trigger.For the actions
task-create-project
and task-create-private
, the task
ActionValue
now has an array assigneeIds
instead of a single assigneeId
. However, you cannot assign multiple users to private tasks.This feature is part of our big Einhorn release, which brought a bunch of awesome features and an updated UI framework 🦄
Project Templates used to be the Project Types, which now have a secondary role, similar to the Type of Work found on Tasks, to make it easier to understand for our users and remove some restrictions like creating a project without a Project Template.
Due to these complex changes, we completely reworked the existing Project Type endpoints and added new endpoints for Project Templates.
CRUD endpoints for project templates
get
https://api.awork.io/v1/
projectTemplates
projectTemplates
get
https://api.awork.io/v1/
projectTemplates/{projectTemplateId}
projectTemplates/{projectTemplateId}
put
https://api.awork.io/v1/
projectTemplates/{projectTemplateId}
projectTemplates/{projectTemplateId}
post
https://api.awork.io/v1/
projectTemplates
projectTemplates
delete
https://api.awork.io/v1/
projectTemplates/{projectTemplateId}
projectTemplates/{projectTemplateId}
Older changes can be found in the release articles on our roadmap https://www.awork.io/roadmap/ 🕵🏻♂️
Last modified 11d ago