Skip to content

Project Transfers API

Project transfer endpoints mueven ownership de project entre workspaces mediante request/accept flow.

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

Devuelve plan de transferencia de project sin aplicar cambios.

La planificación se bloquea mientras el proyecto tenga una suscripción de add-on en estado draft, pending_activation, active, past_due o cancel_at_period_end. Cancela la suscripción o espera a que termine antes de volver a planificar la transferencia. Así se evita trasladar implícitamente la facturación recurrente entre propietarios.

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceTarget workspace fullname.
targetNameNoNuevo project name en target workspace. Si no se pasa, se mantiene el name actual.

Respuesta: ProjectTransferPlan.

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

Crea transfer request. Project se moverá solo después de accept por parte del owner del target workspace.

La creación de la solicitud se bloquea mientras el proyecto tenga una suscripción de add-on en estado draft, pending_activation, active, past_due o cancel_at_period_end. Cancela la suscripción o espera a que termine antes de crear la solicitud de transferencia. Así se evita trasladar implícitamente la facturación recurrente entre propietarios.

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceTarget workspace fullname.
targetNameNoNuevo project name en target workspace.
expectedPlanHashNoHash del plan recibido de /transfer/plan. Si se pasa y el plan cambió, request no se creará.

Respuesta: ProjectTransferRequest.

GET /api/project-transfer-requests

Devuelve incoming/outgoing transfer requests.

Arguments:

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

Payload: ninguno.

Respuesta: ProjectTransferRequest[].

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

Acepta incoming transfer request y aplica transferencia de project.

La aceptación se bloquea mientras el proyecto tenga una suscripción de add-on en estado draft, pending_activation, active, past_due o cancel_at_period_end. Cancela la suscripción o espera a que termine antes de aceptar la solicitud. Así se evita trasladar implícitamente la facturación recurrente entre propietarios.

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload: optional action object.

FieldRequiredDescription
reasonNoOptional comment/reason.

Respuesta: ProjectTransferAcceptResult.

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

Rechaza incoming transfer request.

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonNoOptional rejection reason.

Respuesta: ProjectTransferRequest.

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

Cancela outgoing transfer request.

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonNoOptional cancellation reason.

Respuesta: ProjectTransferRequest.