PATCH/v1/project/{uuid}

Update a project

Updates selected fields on an existing project, including its name, status, metadata, and parent. Supply the project fields you want to change; to re-parent the project, set parent to an object containing the new parent’s uuid, or omit parent or set it to null to leave the parent unchanged. You need the PORTFOLIO_MANAGEMENT or PORTFOLIO_MANAGEMENT_UPDATE permission.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 parameter · 33 body fields
uuidstringrequired
The UUID of the project to modify.

Project fields to update. The body schema requires lastBomImport, name, and uuid; use parent to change the parent project.

accessTeamsarray<object>optional
Unique team access entries for the project; each entry includes a team `name` and `uuid`.
activebooleanoptional
Whether the project is active.
authorstringoptional
The project author.
authorsarray<object>optional
Author details, including any supplied names, email addresses, and phone numbers.
bomRefstringoptional
The project's BOM reference.
childrenarray<object>optional
Child project entries; each entry requires `lastBomImport`, `name`, and `uuid`.
classifierstringoptional
The project's classifier; use a supported classifier value.
Allowed:APPLICATIONFRAMEWORKLIBRARYCONTAINEROPERATING_SYSTEMDEVICEFIRMWAREFILEPLATFORMDEVICE_DRIVERMACHINE_LEARNING_MODELDATA
collectionLogicstringoptional
How the project collection is built: `AGGREGATE_DIRECT_CHILDREN`, `AGGREGATE_DIRECT_CHILDREN_WITH_TAG`, or `AGGREGATE_LATEST_VERSION_CHILDREN`.
Allowed:AGGREGATE_DIRECT_CHILDRENAGGREGATE_DIRECT_CHILDREN_WITH_TAGAGGREGATE_LATEST_VERSION_CHILDREN
collectionTagobjectoptional
The tag used for collection; provide its `name`.
cpestringoptional
The project's CPE identifier, up to 255 characters.
descriptionstringoptional
A description of the project, up to 255 characters.
directDependenciesstringoptional
The project's direct dependencies.
externalReferencesarray<object>optional
External references associated with the project; each reference must include a non-empty `url`.
groupstringoptional
The project group, up to 255 characters.
inactiveSinceintegeroptional
UNIX epoch timestamp in milliseconds
isLatestbooleanoptional
lastBomImportintegerrequired
UNIX epoch timestamp in milliseconds
lastBomImportFormatstringoptional
lastInheritedRiskScorenumberoptional
lastVulnerabilityAnalysisintegeroptional
UNIX epoch timestamp in milliseconds
manufacturerobjectoptional
metadataobjectoptional
metricsobjectoptional
namestringrequired
The project name. Must contain between 1 and 255 characters.
parentobjectoptional
Recursive reference to the enclosing definition.
publisherstringoptional
purlstringoptional
supplierobjectoptional
swidTagIdstringoptional
tagsarray<object>optional
uuidstringrequired
The project's UUID.
versionstringoptional
versionsarray<object>optional

6 status codes
200Returns the updated project object, including its current project details and configuration.
accessTeamsarray<object>optional
activebooleanoptional
authorstringoptional
authorsarray<object>optional
bomRefstringoptional
childrenarray<object>optional
classifierstringoptional
Allowed:APPLICATIONFRAMEWORKLIBRARYCONTAINEROPERATING_SYSTEMDEVICEFIRMWAREFILEPLATFORMDEVICE_DRIVERMACHINE_LEARNING_MODELDATA
collectionLogicstringoptional
Allowed:AGGREGATE_DIRECT_CHILDRENAGGREGATE_DIRECT_CHILDREN_WITH_TAGAGGREGATE_LATEST_VERSION_CHILDREN
collectionTagobjectoptional
cpestringoptional
descriptionstringoptional
directDependenciesstringoptional
externalReferencesarray<object>optional
groupstringoptional
inactiveSinceintegeroptional
UNIX epoch timestamp in milliseconds
isLatestbooleanoptional
lastBomImportintegerrequired
UNIX epoch timestamp in milliseconds
lastBomImportFormatstringoptional
lastInheritedRiskScorenumberoptional
lastVulnerabilityAnalysisintegeroptional
UNIX epoch timestamp in milliseconds
manufacturerobjectoptional
metadataobjectoptional
metricsobjectoptional
namestringrequired
parentobjectoptional
Recursive reference to the enclosing definition.
publisherstringoptional
purlstringoptional
supplierobjectoptional
swidTagIdstringoptional
tagsarray<object>optional
uuidstringrequired
versionstringoptional
versionsarray<object>optional
400Returned when the request is invalid, including when `parent` is provided without a non-null `uuid`.
401Returned when the request is unauthenticated.
403Returned when access to the project, the provided parent, or the previous latest project version is forbidden.
detailstringrequired
Human-readable explanation specific to this occurrence of the problem
instancestringoptional
Reference URI that identifies the specific occurrence of the problem
statusintegerrequired
HTTP status code generated by the origin server for this occurrence of the problem
titlestringrequired
Short, human-readable summary of the problem type
typestringoptional
A URI reference that identifies the problem type
404Returned when the project UUID cannot be found.
409Returned when an inactive parent is selected, a project with active children is set to inactive, the specified name already exists, or the project is selected as its own parent.

Error handling

A 400 is returned when the request is invalid, including when parent is supplied without a non-null uuid; a 401 is returned when authentication is missing or invalid. A 403 indicates you lack access to the project, the provided parent, or the previous latest project version; a 404 means the uuid path parameter does not identify an existing project; a 409 indicates an inactive parent, active children on a project being deactivated, a duplicate project name, or an attempt to select the project itself as its parent. The body requires lastBomImport, name, and uuid; name must be 1–255 characters, and collectionLogic must be AGGREGATE_DIRECT_CHILDREN, AGGREGATE_DIRECT_CHILDREN_WITH_TAG, or AGGREGATE_LATEST_VERSION_CHILDREN.