Skip to content

Project Transfers API

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

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

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

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceДаTarget workspace fullname.
targetNameНетНовое project name в target workspace. Если не передано, сохраняется текущее name.

Response: transfer plan with counts, conflicts, aliases to update and plan hash.

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

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

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceДаTarget workspace fullname.
targetNameНетНовое project name в target workspace.
expectedPlanHashНетHash плана, полученный из /transfer/plan. Если передан и план изменился, request не будет создан.

Response: created transfer request.

GET /api/v2/project-transfer-requests

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

Arguments:

ArgumentLocationDescription
workspaceQueryWorkspace fullname.
directionQueryincoming или outgoing.
statusQuerypending, accepted, rejected, cancelled, expired, failed.

Payload: нет.

Response: array of transfer requests.

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

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

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload: optional action object.

FieldRequiredDescription
reasonНетOptional comment/reason.

Response: accepted request and transfer result.

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

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

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonНетOptional rejection reason.

Response: updated request.

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

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

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonНетOptional cancellation reason.

Response: updated request.