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."
},
"type": {
"type": "string",
"description": "Platform type — read memberpass://enums/platform-type for the available set."
},
"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."
},
"bot_id": {
"type": "string",
"description": "UUID of a telegram_bot to re-attach."
},
"team_id": { "type": "string", "description": "UUID of the owning team." }
}
}Output shape
{
"data": {
"id": "prj_01HX...",
"name": "Research Premium",
"handle": "research-premium",
"active": true
}
}Example prompts
"Update project
prj_01HX...description 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— unknown platformtype, or a platform type that is not yet available.TOKEN_MISSING_ABILITY— token lacksproject:update.
Related
How is this guide?