v1Resources/Clients/postAdd a client portal user
Add a client portal user
Read persisted portal users without creating legacy contact users. Add by email, optionally sending an invitation (sendInvite defaults to true); a delivery failure retains the user. Updates only enable/disable or transfer ownership (makePrimary=true), matching UI row actions. Removal expires outstanding sign-in links; an owner with other users cannot be removed. Revocation expires all pending links and removes only never-signed-in invited users.
post
clients:write/api/v1/clients/{id}/usersQuery parameters
idstringrequired
Request body
emailstringrequired
firstNamestringoptional
lastNamestringoptional
sendInvitebooleanoptional
Response
dataobjectrequired
userobjectoptional
idstringoptional
emailstringoptional
firstNamestringoptional
lastNamestringoptional
statusstringoptional
isPrimarybooleanoptional
rolestring (owner | member)optional
invitedAtstringoptional
lastLoginAtstringoptional
inviteSentAtstringoptional
inviteobjectoptional
sentbooleanoptional
heldbooleanoptional
True when the invitation is waiting for your agency's email sending domain to be verified. sent is false in that case, but it isn't a failure.
portalLinkstringoptional
reasonstring (portal_domain_required | send_failed | sending_domain_unverified)optional
errorstringoptional
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.
409The request conflicts with the current state of the resource — for example, changing the email or phone of a recipient who has already been messaged, or a team invite that was already accepted (or hasn't been accepted yet).
429Too many requests. Retry after the number of seconds in the Retry-After header.
503The service is temporarily unavailable. Retry a credit grant with the same idempotency key.
post/api/v1/clients/{id}/users
Your API key
id *
Request body*
{}Guides that use this resource
- Business Listings API: Complete Developer GuideHow a business listings API works and how to create, update, sync and monitor locations across Google, Apple, Bing and directories with the Synup API.
- Create a Location with the Synup APICreate a business location in one POST, with or without a client, get back a locationId, and know which fields matter and which can wait.
- How to Build a Reputation Management PlatformArchitecture and API calls for a multi-client reputation management platform on Synup: review ingestion, reply workflows, invites, widgets and reporting.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Build a White-Label Local Marketing PlatformBuild a multi-tenant white-label local marketing platform on the API, with client provisioning, team access, per-client summaries and scoped API keys.
- How to Build a Multi-Location Marketing DashboardBuild a multi-location marketing dashboard from the API's rollup endpoints, one call per panel, covering listings, reviews, rank, AI visibility and duplicates.
- How to Add Local Marketing Functionality to Vertical SaaSAdd local marketing to a vertical SaaS by mapping existing customers to clients and locations, and shipping only the features your niche needs.