Modulify

Change your account settings

update_account

Changes the display name, phone number, avatar or notification preferences of the account the token belongs to.

POST /v1/update_accountScopeaccount:writeMakes changes

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.