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
targetWorkspaceSíTarget 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
targetWorkspaceSíTarget 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.