Update the name of an existing project in Blue
Rename a Project
Updates the name and other properties of an existing project. When the name is changed, the project slug will be automatically regenerated based on the new name.
Basic Example
mutation RenameProject {
editProject(input: {
projectId: "project_abc123"
name: "Q2 Marketing Campaign"
}) {
id
name
slug
}
}
Advanced Example
mutation EditProjectAdvanced {
editProject(input: {
projectId: "project_abc123"
name: "Q2 Marketing Campaign"
description: "Campaign for Q2 product launch"
color: "#3B82F6"
icon: "campaign"
category: MARKETING
todoAlias: "Task"
hideRecordCount: false
}) {
id
name
slug
description
color
icon
category
todoAlias
hideRecordCount
}
}
Parameter |
Type |
Required |
Description |
projectId |
String! |
✅ Yes |
The ID of the project to edit |
name |
String |
No |
The new name for the project |
slug |
String |
No |
Custom URL-friendly slug (auto-generated if not provided) |
description |
String |
No |
Project description |
color |
String |
No |
Hex color code for the project (e.g., #3B82F6) |
icon |
String |
No |
Icon identifier for the project |
category |
ProjectCategory |
No |
Project category |
todoAlias |
String |
No |
Custom name for records in this project |
hideRecordCount |
Boolean |
No |
Whether to hide record counts in UI |
showTimeSpentInTodoList |
Boolean |
No |
Display time tracking in lists |
showTimeSpentInProject |
Boolean |
No |
Display time tracking in project view |
image |
ImageInput |
No |
Project image/cover |
todoFields |
[TodoFieldInput] |
No |
Custom field configurations |
coverConfig |
TodoCoverConfigInput |
No |
Cover display configuration |
features |
[ProjectFeatureInput] |
No |
Feature toggles for the project |
sequenceCustomFieldId |
String |
No |
Custom field to use for record sequencing |
ProjectCategory Values
Value |
Description |
PERSONAL |
Personal projects |
BUSINESS |
Business projects |
MARKETING |
Marketing campaigns |
DEVELOPMENT |
Development projects |
DESIGN |
Design projects |
OPERATIONS |
Operational tasks |
SALES |
Sales activities |
SUPPORT |
Support tickets |
FINANCE |
Financial tracking |
HR |
Human resources |
LEGAL |
Legal matters |
PROCUREMENT |
Procurement processes |
Response Fields
Returns the updated Project object with all fields. Key fields include:
Field |
Type |
Description |
id |
String! |
Project ID |
name |
String! |
Project name |
slug |
String! |
URL-friendly slug |
description |
String |
Project description |
color |
String |
Hex color code |
icon |
String |
Icon identifier |
category |
ProjectCategory |
Project category |
todoAlias |
String |
Custom record name |
hideRecordCount |
Boolean! |
Record count visibility setting |
createdAt |
DateTime! |
Creation timestamp |
updatedAt |
DateTime! |
Last update timestamp |
Required Permissions
Role |
Can Edit Project |
OWNER |
✅ Yes |
ADMIN |
✅ Yes |
MEMBER |
❌ No |
Error Responses
Project Not Found
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Insufficient Permissions
{
"errors": [{
"message": "You don't have permission to edit this project",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Important Notes
- Slug Generation: Project slugs are automatically generated when name changes. You can also provide a custom slug
- Slug Conflicts: If a slug conflicts with existing company slugs, the system will append numbers (e.g.,
my-project-1
)
- HTML Sanitization: HTML tags are automatically stripped from description fields for security
- Partial Updates: All fields are optional except
projectId
- only provide fields you want to update
- Categories: Use ProjectCategory enum values for the category field
- Image Handling: Supports uploading, updating, or removing project images via ImageInput