Skip to content

Projects API ​

Project endpoints 用于管理 marketplace integrations:metadata、visibility/access level、links,以及 uploaded icon/cover images。

GET /api/projects ​

返回当前 account 可访问的 projects 列表。

Arguments:

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

Payload: 无。

响应:ProjectView[]。

GET /api/projects/create-capability ​

检查当前 account/workspace 是否可以创建 project。

Arguments: 无。

Payload: 无。

响应:ProjectCreateCapability。

GET /api/projects/:fullname ​

按 fullname 返回 project。

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload: 无。

响应:ProjectView。

PUT /api/projects/:fullname ​

创建或更新 project。

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname. 必须与 payload.fullname 一致。

Payload:

FieldRequiredDescription
name是workspace 内的 Project name。
fullname是<workspace>.<name> 格式的 fullname。
workspace是Workspace fullname.
public是Legacy public flag。新代码最好同时传入 accessLevel。
visibility否Storage visibility: public, private_link, personal.
accessLevel否Product access level: private, public, free.
tags否Project tags.
labels否Project labels.
meta.title是project 的可见名称。
meta.description是完整描述。
meta.shortDescription否短描述。
meta.links否{ title, url } useful links 数组。
meta.icon否Icon URL。可以是 uploaded asset URL。
meta.avatar否Avatar URL。通常与 icon 相同。
meta.cover否Cover URL。可以是 uploaded asset URL。

响应:ProjectView。

DELETE /api/projects/:fullname ​

删除 project。

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload: 无。

响应:OperationResult。

通过 access link 打开 private project。

Arguments:

ArgumentLocationDescription
tokenPathAccess link token.

Payload: 无。

响应:ProjectView。

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

为 private project 创建 access link。

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload:

FieldRequiredDescription
maxUsages否Maximum link usages.
expiresAt否Expiration date-time.

响应:ProjectAccessLink。

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

为 icon 或 cover 上传 project image。

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.

Payload:

FieldRequiredDescription
filename是Original filename.
contentType是图片 MIME type。
data是Base64 image data.
target是icon 或 cover。

响应:ProjectImageUploadResult。 保存 project 时,这个 URL 会传入 meta.icon 或 meta.cover。

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

删除 uploaded project image。

Arguments:

ArgumentLocationDescription
fullnamePathProject fullname.
assetPathAsset filename,例如 icon.png 或 draft asset name。

Payload: 无。

响应:OperationResult。