DESTRUCTIVE

update_client

Changes a client on the team's registry in part, so a contact, a country or a status can be filled in as the conversation reveals it.

Change a client by client_id with any of name, legal_name, website, industry, country, timezone, primary_contact_name, primary_contact_email, notes (HTML) and status. A field left out keeps its value; a field sent as null is cleared. The change goes through the same action the Clients page runs and client.updated goes out with what moved.

A staff token with client:update is needed. An unknown id, or one outside the token's scope, is RESOURCE_NOT_FOUND.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Runs the same action as

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

Destructive

A client that honours annotations asks a person before running it.

Arguments

client_id*string

UUID of the client.

namestringoptional

The client's name, 2 to 100 characters, unique within the team.

legal_namestringoptional

The registered name, up to 160 characters.

websitestringoptional

The client's site as a full URL.

industrystringoptional

The line of business, up to 80 characters.

countrystringoptional

A two-letter upper-case country code, such as LK.

timezonestringoptional

A timezone identifier, such as Asia/Colombo.

primary_contact_namestringoptional

Who speaks for the client.

primary_contact_emailstringoptional

Their email address.

notesstringoptional

What the team should know, as HTML.

statusstringoptional

Where the relationship stands.

prospectactivedormantchurned

What it returns

{  "data": {    "id": "9b1f2c3d-4e5f-4a6b-8c7d-0e1f2a3b4c5d",    "team_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",    "name": "Super Clean Laundry",    "legal_name": "Super Clean Laundry (Pvt) Ltd",    "website": "https://superclean.example.test",    "industry": "Laundry services",    "country": "LK",    "timezone": "Asia/Colombo",    "primary_contact_name": "Nadeesha Perera",    "primary_contact_email": "nadeesha@example.test",    "notes": null,    "status": "active",    "projects_count": 1,    "archived_at": null,    "created_at": "2026-10-28T09:12:00+00:00",    "updated_at": "2026-10-28T10:40:00+00:00"  }}

How it fails

VALIDATION_FAILED

a field outside its limits, a country that is not a two-letter upper-case code, a status outside the four, or a name another client of the team already uses.

RESOURCE_NOT_FOUND

unknown client_id, or a client outside the token's scope.

FORBIDDEN

the token is a client guest's, or the holder's team role does not carry client:update.

TOKEN_MISSING_ABILITY

token lacks client:update.

How is this guide?

Last updated on