Transfer project repository
transfer_project_repositoryMove the repository that SHIP made for a project with Start from scratch into the person's own empty GitHub repository, or name that repository for a transfer that waits on it. Only the repository moves. The hosted site, its waitlist, its database and SHIP's models, paid in credits, stay. SHIP archives its own copy and deletes it after a grace period. Only an owner of the workspace can do this, and never while missions or site publishes of the project run. The result gives the next step in action: choose_target means the person makes an empty repository on their own GitHub account, installs SHIP's GitHub App on it, and you call transfer_project_repository again with that connection's connectorId and the repository as owner/name. wait means SHIP copies and checks the repository: read the transfer with get_project_transfer after pollAfterSeconds. After the project uses the new repository, the transfer cannot be cancelled.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"projectId": "<projectId>"
},
"name": "transfer_project_repository"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id from list_projects | |
| repository | No | The person's empty repository as owner/name, which that installation covers | |
| connectorId | No | The workspace's GitHub connection for the person's own installation of SHIP's GitHub App | |
| idempotencyKey | No | A key of your own: a repeat with the same key answers the same transfer |