update_project
Apply a partial update to a project. Only supplied fields are touched; omitted keys stay as-is.
Purpose
Apply a partial update to an existing project. Delegates to an Action so the project-service policy and cache invalidation run, and a project.updated event fires with a map of changed fields.
Required ability
project:update
Input schema
{
"type": "object",
"required": ["project_id"],
"properties": {
"project_id": {
"type": "string",
"description": "UUID of the project to update."
},
"name": {
"type": "string",
"description": "New project name (min 5, max 255 chars)."
},
"description": {
"type": "string",
"description": "New description. Max 1000 chars, HTML is filtered."
},
"handle": {
"type": "string",
"description": "New URL-friendly handle. Alpha-dash lowercase, 5-255 chars, unique. Requires Starter or Growth creator tier."
},
"terms": {
"type": "string",
"description": "URL to the terms page. Max 255 chars."
},
"privacy": {
"type": "string",
"description": "URL to the privacy page. Max 255 chars."
},
"metrics": {
"type": "boolean",
"description": "Toggle aggregated metrics collection."
},
"active": {
"type": "boolean",
"description": "Flip to false to archive, true to restore."
},
"outage_compensations": {
"type": "boolean",
"description": "Outage Compensation. When a platform refuses the project's connector for an hour or more and it later answers again, every member whose paid access overlapped the gap gets the lost time added to the end of their access automatically. Defaults to true on every project."
},
"team_id": { "type": "string", "description": "UUID of the owning team." }
}
}Output shape
{
"data": {
"id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"name": "Research Premium",
"handle": "research-premium",
"active": true
}
}Example prompts
"Update project
7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13description to mention weekly AMAs."
"Rename my Research Premium project to 'Research Pro'."
Failure modes
RESOURCE_NOT_FOUND— unknownproject_id, or the project belongs to a team outside the token's scope.VALIDATION_FAILED— a malformed field, orteam_idis a team the token's owner does not belong to.TOKEN_MISSING_ABILITY— token lacksproject:update.
Related
How is this guide?