Skip to content

Project Transfers API

Endpoints Project Transfers переносят ownership project между workspaces через request/accept flow.

POST /api/v2/projects/:fullname/transfer/plan

Возвращает план переноса project без применения изменений.

Аргументы:

АргументГдеОписание
fullnamePathFullname исходного project.

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

ПолеОбязательноеОписание
targetWorkspaceДаFullname целевого workspace.
targetNameНетНовое имя project в целевом workspace. Если не передано, сохраняется текущее имя.

Ответ: ProjectTransferPlan.

POST /api/v2/projects/:fullname/transfer-requests

Создает transfer request. Project будет перенесен только после accept со стороны owner целевого workspace.

Аргументы:

АргументГдеОписание
fullnamePathFullname исходного project.

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

ПолеОбязательноеОписание
targetWorkspaceДаFullname целевого workspace.
targetNameНетНовое имя project в целевом workspace.
expectedPlanHashНетHash плана, полученный из /transfer/plan. Если передан и план изменился, request не будет создан.

Ответ: ProjectTransferRequest.

GET /api/v2/project-transfer-requests

Возвращает incoming/outgoing transfer requests.

Аргументы:

АргументГдеОписание
workspaceQueryWorkspace fullname.
directionQueryincoming или outgoing.
statusQuerypending, accepted, rejected, cancelled, expired, failed.

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

Ответ: ProjectTransferRequest[].

POST /api/v2/project-transfer-requests/:id/accept

Принимает incoming transfer request и применяет перенос project.

Аргументы:

АргументГдеОписание
idPathTransfer request id.

Тело запроса: опциональный action object.

ПолеОбязательноеОписание
reasonНетОпциональный комментарий или причина.

Ответ: ProjectTransferAcceptResult.

POST /api/v2/project-transfer-requests/:id/reject

Отклоняет incoming transfer request.

Аргументы:

АргументГдеОписание
idPathTransfer request id.

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

ПолеОбязательноеОписание
reasonНетОпциональная причина отклонения.

Ответ: ProjectTransferRequest.

POST /api/v2/project-transfer-requests/:id/cancel

Отменяет outgoing transfer request.

Аргументы:

АргументГдеОписание
idPathTransfer request id.

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

ПолеОбязательноеОписание
reasonНетОпциональная причина отмены.

Ответ: ProjectTransferRequest.