v1Resources/Clients/patchUpdate a client
Update a client
Edits an existing client's editable fields. Pass only the fields you want to change. The client's primaryContactEmail (their portal login) can only be set here while it's still blank — it can never be changed once set.
patch
clients:write/api/v1/clients/{id}Query parameters
idstringrequired
The client to update.
Request body
businessNamestringoptional
The business name for the new client.
industrystringoptional
The client's industry.
websitestringoptional
The client's website URL.
primaryContactNamestringoptional
The primary contact's name.
phonestringoptional
The client's phone number.
locationCountnumberoptional
The client's reported location count — informational only, not the actual count of created locations.
citystringoptional
The client's city.
phoneCountryCodestringoptional
The ISO-3166-1 alpha-2 country the client's phone number belongs to (e.g. "US", "IN") — the region, not the dial code.
countrystringoptional
The client's country, as an ISO-3166-1 alpha-2 code.
statestringoptional
The client's state, province, or region.
trackingKeywordstringoptional
A keyword to track the client's local search rank for.
notesstringoptional
An internal note about the client — visible only to your team, never to the client.
gbpLinkstringoptional
The client's Google Business Profile URL.
packageTypestringoptional
The client's package type.
clientPlanIdstringoptional
Which customer-portal plan to assign. Defaults to your agency's default plan. There's no endpoint that lists plans — read a valid id off an existing client's clientPlan.id, or your agency's plan settings in Synup.
primaryRepresentativeIdstringoptional
The user id of the team member who owns this client — see GET /api/v1/team/members for your agency's member ids.
visibilitystring (public | private)optional
Whether the client is public or private within your agency.
primaryContactEmailstringoptional
Email address of the client's primary contact. Settable only while still blank — it becomes the portal login and can never be changed once set.
Response
dataobjectoptional
Additional internal fields may be present but are not part of the stable contract — rely only on the fields documented here.
idstringoptional
Unique identifier for the client.
businessNamestringoptional
The client's business name.
websitestringoptional
The client's website URL.
industrystringoptional
The client's industry.
primaryContactEmailstringoptional
Email address of the client's primary contact.
primaryRepresentativeIdstringoptional
ID of the team member responsible for this client — see GET /api/v1/team/members for your agency's member ids.
visibilitystring (public | private)optional
Whether the client is public or private within your agency.
goalstring (improve_rankings | get_reviews | fix_listings)optional
The client's primary goal, or null.
notesstringoptional
An internal note about the client — visible only to your team, never to the client.
gbpLinkstringoptional
The client's Google Business Profile URL, or null.
trackingKeywordstringoptional
A keyword tracked for this client's local search rank, or null.
healthScorenumberoptional
A 0–100 score summarizing the client's account health, or null if not yet computed.
planNamestringoptional
Name of the plan this client is on, if any.
archivedbooleanoptional
Whether the client is archived.
archivedAtstringoptional
When the client was archived, as an ISO 8601 timestamp, or null.
scheduledArchiveAtstringoptional
When archival was requested (also the cohort token for cancelling it), as an ISO 8601 timestamp, or null if none is pending.
createdAtstringoptional
When the client was created, as an ISO 8601 timestamp.
updatedAtstringoptional
When the client was last updated, as an ISO 8601 timestamp.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
404The resource wasn't found, or doesn't belong to your agency.
422The request is missing a required parameter or is otherwise malformed.
429Too many requests. Retry after the number of seconds in the Retry-After header.
patch/api/v1/clients/{id}
Your API key
id *
Request body
{
"data": {
"id": "cli_123",
"businessName": "Acme Dental",
"website": "https://acmedental.com",
"industry": "Dental",
"primaryContactEmail": "owner@acmedental.com",
"primaryRepresentativeId": "usr_123",
"visibility": "public",
"goal": "get_reviews",
"notes": null,
"gbpLink": null,
"trackingKeyword": "dentist near me",
"healthScore": 82,
"planName": null,
"archived": false,
"archivedAt": null,
"scheduledArchiveAt": null,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-02-01T09:30:00.000Z"
}
}