Skip to content

Projects API

Endpoints Projects управляют marketplace integrations: metadata, visibility/access level, links и загруженными icon/cover images.

GET /api/v2/projects

Возвращает список projects, доступных текущему account.

Аргументы:

АргументГдеОписание
workspaceQueryОпциональный фильтр по workspace fullname.
scopeQueryОпциональный scope: all, marketplace, backend.

Тело запроса: нет.

Ответ: ProjectView[].

GET /api/v2/projects/create-capability

Проверяет, может ли текущий account/workspace создать project.

Аргументы: нет.

Тело запроса: нет.

Ответ: ProjectCreateCapability.

GET /api/v2/projects/:fullname

Возвращает project по fullname.

Аргументы:

АргументГдеОписание
fullnamePathProject fullname.

Тело запроса: нет.

Ответ: ProjectView.

PUT /api/v2/projects/:fullname

Создает или обновляет project.

Аргументы:

АргументГдеОписание
fullnamePathProject fullname. Должен совпадать с payload.fullname.

Тело запроса:

ПолеОбязательноеОписание
nameДаИмя project внутри workspace.
fullnameДаFullname в формате <workspace>.<name>.
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НетМассив useful links в формате { title, url }.
meta.iconНетURL icon. Может быть uploaded asset URL.
meta.avatarНетURL avatar. Обычно совпадает с icon.
meta.coverНетURL cover. Может быть uploaded asset URL.

Ответ: ProjectView.

DELETE /api/v2/projects/:fullname

Удаляет project.

Аргументы:

АргументГдеОписание
fullnamePathProject fullname.

Тело запроса: нет.

Ответ: OperationResult.

Открывает private project по access link.

Аргументы:

АргументГдеОписание
tokenPathТокен access link.

Тело запроса: нет.

Ответ: ProjectView.

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

Создает access link для private project.

Аргументы:

АргументГдеОписание
fullnamePathProject fullname.

Тело запроса:

ПолеОбязательноеОписание
maxUsagesНетМаксимальное количество использований ссылки.
expiresAtНетДата и время истечения срока действия.

Ответ: ProjectAccessLink.

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

Загружает изображение project для icon или cover.

Аргументы:

АргументГдеОписание
fullnamePathProject fullname.

Тело запроса:

ПолеОбязательноеОписание
filenameДаИсходное имя файла.
contentTypeДаMIME-тип изображения.
dataДаДанные изображения в Base64.
targetДаicon или cover.

Ответ: ProjectImageUploadResult. Этот URL затем передается в meta.icon или meta.cover при сохранении project.

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

Удаляет загруженное изображение project.

Аргументы:

АргументГдеОписание
fullnamePathProject fullname.
assetPathИмя asset file, например icon.png или draft asset name.

Тело запроса: нет.

Ответ: OperationResult.