The project key must be unique within the workspace and follow these rules:
- Only uppercase letters (A-Z), numbers (0-9), and dashes (-)
- Between 1 and 32 characters
- Not already in use by another active project in the workspace
This operation will also update all task identifiers for tasks in this project
(e.g., OLDKEY-123 becomes NEWKEY-123). Task identifiers are updated in batches
to ensure audit logs and websocket events are triggered properly.
Note: The project key update is now transactional with automatic retry on race conditions.
If multiple concurrent requests try to update the same project key, the service will
retry with exponential backoff (100ms, 200ms, 400ms) for up to 3 attempts.
Task identifier updates are processed in batches as a background operation.
Note: User-provided keys are not subject to profanity filtering. Users can set any key they choose.
<Check title="Required Permissions" icon="key">The user must be an admin or have `project-master-data:write` permissions.</Check>
Path parameters
projectIdstringRequiredformat: "uuid"
The id of the project.
Request
This endpoint expects an object.
projectKeystringRequired1-32 characters
The new project key. Must be uppercase letters (A-Z), numbers (0-9), and dashes (-), between 1-32 characters.
Response
OK
namestring0-1000 characters
The name of the Project. Max allowed length: 1000 characters.
isPrivateboolean
Whether this is a private project only visible to members and the creator.
Defaults to false.
Can only be changed from public to private if no times have been tracked on this project.
Can always be made public.
descriptionstring or null0-25000 characters
The project description. Max allowed length: 25000 characters.
startDatedatetime or null
The start date of the project.
dueDatedatetime or null
The due date of the project.
companyIdstring or nullformat: "uuid"
The id of the company.
timeBudgetinteger or null
The time budget the project has, in seconds.
isBillableByDefaultboolean or null
Whether project times should be billable by default.
projectTypeIdstring or nullformat: "uuid"
The id of the project type of this project.
colorstring or null0-14 characters
The color of the project for display purposes in awork.
The supported colors are defined by the awork frontend.
Can be null when no color assigned.
deductNonBillableHoursboolean
Whether to deduct non-billable hours from project budgets.
isProjectKeyVisibleboolean or null
Whether project key should be visible for this project.
If null, it will use the workspace default setting.
projectStatusIdstringformat: "uuid"
The id of the project status.
projectTemplateIdstring or nullformat: "uuid"
The id of the template which is used to create the project.
publicProjectTemplateIdstring or nullformat: "uuid"
The id of the public template which is used to create the project.
workflowIdstring or nullformat: "uuid"
The id of the workflow to link to the project.
Cannot be specified if ProjectTemplateId is set.
idstringformat: "uuid"
Id of the project.
projectKeystring or null
The unique project key within the workspace (e.g., “NIKE”).
Maximum 32 characters, uppercase letters, numbers, and dashes only.
hasImageboolean
Whether the project has an image.
createdOndatetime
The date this entity was created.
createdBystringformat: "uuid"
The id of the user who created this entity.
updatedOndatetime
The date this entity was last modified.
updatedBystringformat: "uuid"
The id of the user who last modified this entity.
closedOndatetime or null
The date the project was set to closed.
closedBystring or nullformat: "uuid"
The user who closed the project.
createdByProjectTemplateIdstring or nullformat: "uuid"
The id of the template the project was created from.
tagslist of objects or null
The tags for this project.
totalPlannedDurationWithHierarchylong or null
The total planned duration of the project with hierarchy, in seconds.
Calculated based on the planned durations of tasks and task lists of the project.
Sum of Sum(TotalPlannedDurationWithHierarchy of all task lists) and
Sum(TotalPlannedDurationWithHierarchy of all parent tasks without list)
tasksCountinteger or null
The number of all tasks related to the project.
tasksDoneCountinteger or null
The number of all tasks in status 'done' related to the project.
memberslist of objects or null
The members of this project.
trackedDurationinteger or null
The summed up duration of all time trackings for this project.
customFieldslist of objects or null
Custom fields of the project.
resourceVersionlongRead-only
The version of the entity, updated on every modification, to the ticks in UTC.
Not identical to UpdatedOn.
teamslist of objects or null
The teams the project is associated to.
isExternalboolean
True if this entity is coming from an external workspace (awork Connect).
isRetainerboolean
Whether the project is a retainer project.
Retainer projects have at least one retainer with budgets.
isMultiAssignmentAllowedboolean
Indicates whether multi-assignment is allowed for tasks in this project’s workspace.
plannedDurationlong or nullDeprecated
The total planned time of the project, in seconds.
The time is calculated as te sum of the planned duration by all project tasks.