Rename or describe a site
rename_site
Changes the name, description or server location of a site.
Send only the fields you want to change, and anything you leave out stays as it is. A locked site refuses every change.
The public web addresses of a site are its subdomain and its custom domains, and neither changes here. change_subdomain changes the subdomain, and add_custom_domain and the other custom domain tools manage the domains.
A new region moves the published site to that server location on its next publish, so a live site keeps serving from the old one until then. Changing it needs a paid plan. On a free workspace the value is accepted and ignored and the call still reports success, so compare the Region in the answer, which is the region the site is actually on, with the one you sent. See Project settings.
Request
Call it with a POST to https://api.modulify.ai/v1/rename_site, sending the inputs below as a JSON object. The token needs the sites:write scope.
It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.
curl -X POST https://api.modulify.ai/v1/rename_site \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":"PROJECT_ID"}'Over MCP, the same method is the rename_site tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
projectId |
string | Yes | The site id. |
name |
string | No | The new name, 3 to 64 characters. |
description |
string | No | The new description. Anything over 640 characters is cut to 640 rather than refused, and only a description over 3000 characters fails the call. |
region |
string | No | Where the published site is hosted, shown as Server location in its settings. One of ams, arn, bom, cdg, dfw, ewr, fra, gru, iad, jnb, lax, lhr, nrt, ord, sin, sjc, syd or yyz. |
Response
Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.