PUT/v1/project

Create a project

Creates a project, optionally under a parent project and with team-based access. Supply name and uuid; set parent to an object containing the parent’s uuid, or omit it or set it to null to create a top-level project. You need PORTFOLIO_MANAGEMENT or PORTFOLIO_MANAGEMENT_CREATE permission.

33 body fields

Project details for creation. Include name and uuid; use parent to create the project under a parent.

accessTeamsarray<object>optional
Teams to grant access to when portfolio access control is enabled. Identify a team by its `uuid` or `name`; you can assign only teams you belong to unless you have `ACCESS_MANAGEMENT` permission.
activebooleanoptional
Whether the project is active.
authorstringoptional
The project's author.
authorsarray<object>optional
People associated with the project, with optional email, name, and phone details.
bomRefstringoptional
The project's BOM reference.
childrenarray<object>optional
Child projects associated with this project.
classifierstringoptional
The project classifier, such as APPLICATION, FRAMEWORK, LIBRARY, CONTAINER, OPERATING_SYSTEM, DEVICE, FIRMWARE, FILE, PLATFORM, DEVICE_DRIVER, MACHINE_LEARNING_MODEL, or DATA.
Allowed:APPLICATIONFRAMEWORKLIBRARYCONTAINEROPERATING_SYSTEMDEVICEFIRMWAREFILEPLATFORMDEVICE_DRIVERMACHINE_LEARNING_MODELDATA
collectionLogicstringoptional
The collection aggregation mode: 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 to select projects for a collection; provide its `name`.
cpestringoptional
The project's CPE identifier.
descriptionstringoptional
A description of the project.
directDependenciesstringoptional
Direct dependency data for the project.
externalReferencesarray<object>optional
External references for the project, each with a URL and optional type or comment.
groupstringoptional
The group associated with the project.
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

5 status codes
201Returns the created project object.
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` lacks a non-null `uuid`.
401Returned when the request is unauthorized.
403Returned when you lack the required permission or access to the provided parent project or previous latest project version.
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
409Returned when an inactive parent is selected or a project with the specified name already exists.

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 the request is unauthorized, and a 403 when you lack the required permission or access to the provided parent or previous latest project version. A 409 is returned when the selected parent is inactive or a project with the specified name already exists. name and uuid are required in the body; name must be 1–255 characters and uuid must be a UUID. When portfolio access control is enabled, identify each accessTeams entry by team uuid or name; you can assign only teams you belong to unless you have ACCESS_MANAGEMENT permission.