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-5c8e0a4b6f13 description to mention weekly AMAs."

"Rename my Research Premium project to 'Research Pro'."

Failure modes

  • RESOURCE_NOT_FOUND — unknown project_id, or the project belongs to a team outside the token's scope.
  • VALIDATION_FAILED — a malformed field, or team_id is a team the token's owner does not belong to.
  • TOKEN_MISSING_ABILITY — token lacks project:update.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request