Skip to content

Projects API

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

GET /api/v2/projects

Devolve lista de projects disponíveis para current account.

Arguments:

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

Payload: nenhum.

Resposta: ProjectView[].

GET /api/v2/projects/create-capability

Verifica se current account/workspace pode criar project.

Arguments: nenhum.

Payload: nenhum.

Resposta: ProjectCreateCapability.

GET /api/v2/projects/:fullname

Devolve project por fullname.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload: nenhum.

Resposta: ProjectView.

PUT /api/v2/projects/:fullname

Cria ou atualiza project.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname. Deve coincidir com payload.fullname.

Payload:

FieldRequiredDescription
nameSimProject name dentro do workspace.
fullnameSimFullname no formato <workspace>.<name>.
workspaceSimWorkspace fullname.
publicSimLegacy public flag. Para código novo, é melhor passar também accessLevel.
visibilityNãoStorage visibility: public, private_link, personal.
accessLevelNãoProduct access level: private, public, free.
tagsNãoProject tags.
labelsNãoProject labels.
meta.titleSimTítulo visível do project.
meta.descriptionSimDescrição completa.
meta.shortDescriptionNãoDescrição curta.
meta.linksNãoArray de { title, url } useful links.
meta.iconNãoIcon URL. Pode ser uploaded asset URL.
meta.avatarNãoAvatar URL. Normalmente coincide com icon.
meta.coverNãoCover URL. Pode ser uploaded asset URL.

Resposta: ProjectView.

DELETE /api/v2/projects/:fullname

Elimina project.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload: nenhum.

Resposta: OperationResult.

Abre private project por access link.

Arguments:

ArgumentLocationDescription
tokenPathAccess link token.

Payload: nenhum.

Resposta: ProjectView.

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

Cria access link para private project.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload:

FieldRequiredDescription
maxUsagesNãoMaximum link usages.
expiresAtNãoExpiration date-time.

Resposta: ProjectAccessLink.

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

Envia project image para icon ou cover.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload:

FieldRequiredDescription
filenameSimOriginal filename.
contentTypeSimMIME type da imagem.
dataSimBase64 image data.
targetSimicon ou cover.

Resposta: ProjectImageUploadResult. Este URL depois é passado em meta.icon ou meta.cover ao guardar project.

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

Elimina uploaded project image.

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.
assetPathAsset filename, por exemplo icon.png ou draft asset name.

Payload: nenhum.

Resposta: OperationResult.