Skip to content

Projects API

Project endpoints manage marketplace integrations: metadata, visibility/access level, links, and uploaded icon/cover images.

GET /api/v2/projects

Returns list of projects available to current account.

Arguments:

ArgumentLocationDescription
workspaceQueryOptional workspace fullname filter.
scopeQueryOptional scope: all, marketplace, backend.

Payload: none.

Response: ProjectView[].

GET /api/v2/projects/create-capability

Checks whether current account/workspace can create project.

Arguments: none.

Payload: none.

Response: ProjectCreateCapability.

GET /api/v2/projects/:fullname

Returns project by fullname.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload: none.

Response: ProjectView.

PUT /api/v2/projects/:fullname

Creates or updates project.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname. Must match payload.fullname.

Payload:

FieldRequiredDescription
nameYesProject name inside workspace.
fullnameYesFullname in <workspace>.<name> format.
workspaceYesWorkspace fullname.
publicYesLegacy public flag. For new code, it is better to also pass accessLevel.
visibilityNoStorage visibility: public, private_link, personal.
accessLevelNoProduct access level: private, public, free.
tagsNoProject tags.
labelsNoProject labels.
meta.titleYesVisible project title.
meta.descriptionYesFull description.
meta.shortDescriptionNoShort description.
meta.linksNoArray of { title, url } useful links.
meta.iconNoIcon URL. Can be uploaded asset URL.
meta.avatarNoAvatar URL. Usually same as icon.
meta.coverNoCover URL. Can be uploaded asset URL.

Response: ProjectView.

DELETE /api/v2/projects/:fullname

Deletes project.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload: none.

Response: OperationResult.

Opens private project by access link.

Arguments:

ArgumentLocationDescription
tokenPathAccess link token.

Payload: none.

Response: ProjectView.

POST /api/v2/projects/:fullname/access-links

Creates access link for private project.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload:

FieldRequiredDescription
maxUsagesNoMaximum link usages.
expiresAtNoExpiration date-time.

Response: ProjectAccessLink.

POST /api/v2/projects/:fullname/assets/images

Uploads project image for icon or cover.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload:

FieldRequiredDescription
filenameYesOriginal filename.
contentTypeYesImage MIME type.
dataYesBase64 image data.
targetYesicon or cover.

Response: ProjectImageUploadResult. This URL is then passed to meta.icon or meta.cover when saving project.

DELETE /api/v2/projects/:fullname/images/:asset

Deletes uploaded project image.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.
assetPathAsset filename, for example icon.png or draft asset name.

Payload: none.

Response: OperationResult.