Change your account settings
update_account
Changes the display name, phone number, avatar or notification preferences of the account the token belongs to.
Only the fields you send change. It always writes the token holder, needs no workspace and cannot be pointed at anybody else. The email address is not changed here: that needs a confirmation link and can only be done in the product, as Change your email describes.
settings takes Sounds and Notifications, each with AiGenerationDone and SitePublished booleans, and anything that is not a boolean is ignored rather than refused. A name outside 2 to 99 characters and an avatar over 10 MB are ignored the same way.
Send the phone number in international form, starting with + or 00. A number that cannot be read that way, or an empty string, clears the stored one rather than being refused. See Your account.
Request
Call it with a POST to https://api.modulify.ai/v1/update_account, sending the inputs below as a JSON object. The token needs the account: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/update_account \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Over MCP, the same method is the update_account tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
name |
string | No | The display name, 2 to 99 characters. |
phone |
string | No | The phone number in international form, starting with + or 00. |
avatar |
string | No | An avatar image, base64 encoded, up to 10 MB. |
settings |
object | No | Notification and sound preferences. Sounds decides whether a sound plays in the browser and Notifications whether a browser notification is shown, each with AiGenerationDone for when a generation finishes and SitePublished for when a site finishes publishing. |
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.