Skip to content

Project Transfers API

Project transfer endpoints move project ownership between workspaces through request/accept flow.

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

Returns project transfer plan without applying changes.

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceYesTarget workspace fullname.
targetNameNoNew project name in target workspace. If omitted, current name is kept.

Response: ProjectTransferPlan.

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

Creates transfer request. Project will be moved only after accept from target workspace owner.

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceYesTarget workspace fullname.
targetNameNoNew project name in target workspace.
expectedPlanHashNoPlan hash received from /transfer/plan. If passed and plan changed, request will not be created.

Response: ProjectTransferRequest.

GET /api/v2/project-transfer-requests

Returns incoming/outgoing transfer requests.

Arguments:

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

Payload: none.

Response: ProjectTransferRequest[].

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

Accepts incoming transfer request and applies project transfer.

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload: optional action object.

FieldRequiredDescription
reasonNoOptional comment/reason.

Response: ProjectTransferAcceptResult.

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

Rejects incoming transfer request.

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonNoOptional rejection reason.

Response: ProjectTransferRequest.

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

Cancels outgoing transfer request.

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonNoOptional cancellation reason.

Response: ProjectTransferRequest.