Replace projects

Renames a project.

PUT /v1/platform/projects/{project}

Addresshttps://api.hanzo.ai/v1/platform/projects/{project}
MethodPUT
Operationput_platform_projects_by_project
AuthAuthorization: Bearer $HANZO_API_KEY

Renames a project.

It rewrites partOf on every declaration that names the project, in one commit to hanzoai/universe. 409 when the new name is already a project: fold into it with DELETE /v1/platform/projects/{project}?into=. mode as for create.

Request

5 fields, body application/json (required).

FieldInTypeRequiredDescription
projectpathstringyesProject is the project to rename, from the path.
modebodystring—Mode is branch (the default) or commit.
namebodystring—Name is its new name, which no app may already name.
orgbodystring—Org names the project's owner, defaulting to the caller's own scope.
projectbodystring—Project is the project to rename, from the path.

Response

StatusBodyMeaning
200platform.projectWriteok
defaultproblem-detailsrefused

200 body — 11 fields.

FieldInTypeAlwaysDescription
commitbodystring—Commit is the sha the change created, "" when nothing had to move.
livebodyboolean—Live says whether the generator will see it: true only on main.
modebodystring—Mode is branch (a review; nothing deploys) or commit (main).
movedbodyplatform.relabel[]—Moved are the declarations whose partOf moved, and from what.
moved[].frombodystring—
moved[].namebodystring—
moved[].orgbodystring—
moved[].tobodystring—
projectbodystring—Project is the project the change leaves the moved apps in.
refbodystring—Ref is the branch the change was pushed to, main for a commit.
reviewbodystring—Review is where to open the pull request for a branch.

Failure carries the platform error shape — see Errors.

Examples

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.

import { Configuration, PlatformApi } from 'hanzoai';

const api = new PlatformApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.putPlatformProjectsByProject({ project: 'project', mode: "<mode>", name: "<name>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import PlatformApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = PlatformApi(client).put_platform_projects_by_project(project='project', mode="<mode>", name="<name>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.PlatformAPI.PutPlatformProjectsByProject(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, platform_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = platform_api::put_platform_projects_by_project(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.PlatformApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new PlatformApi(client).putPlatformProjectsByProject();
curl -X PUT https://api.hanzo.ai/v1/platform/projects/<project> \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "mode": "<mode>",
       "name": "<name>"
     }'

MCP reaches platform through the platform tool, which names its 38 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "get_build"
         }
       }
     }'

Platform API · All Hanzo APIs · Interactive reference

Was this page useful?