Update a project
PATCH/api/v1/projects/:project_id
Update mutable project fields (name, description, assignment, source).
Archived projects reject config writes (409) — unarchive first.
source attach/update/detach resolves connection
lineage server-side and enforces the immutability invariant: once
revisions exist, the source kind and (for VCS) provider + repository
are frozen — only the tracked branch and scope defaults stay mutable.
blackbox_config is whole-object replace (explicit
null clears); reads return it with credentials redacted.
pr_review is whole-object replace too, but ENABLING it requires a
connected VCS source — pull-request webhooks have nowhere to come from
otherwise — else 400 project_pr_review_requires_vcs.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 429
- 500
Successful Response
Bad request — malformed input or failed validation.
Missing, expired, or invalid credentials.
Authenticated but not authorized for this resource. Note: cross-organization reads return 404, not 403.
Resource not found, or hidden for tenant-enumeration safety (the caller lacks permission to know whether the resource exists).
Conflict — the current resource state does not allow this operation (e.g. assessment already started, email already in use).
Semantic validation failure — request shape was valid but contents were not.
Too many requests — rate limited. Retry after the window resets.
Internal server error — unexpected failure.