Skip to main content
Every REST endpoint and MCP tool reports failures with the same JSON envelope:
  • code — a stable machine-readable error code from the table below. Branch on this, never on message.
  • message — a human-readable explanation. Wording may change without notice.
  • docs_url — optional link to relevant documentation.
  • details — optional list of machine-readable entries carrying structured context, such as the specific fields a write was rejected for. Codes that populate details document the entry shape below.

Error codes

CANNOT_UPDATE_SYNC_MANAGED_FIELDS details

Returned with HTTP 409 by PATCH /v1/users/{userId} (and the update_user MCP tool) when the request writes profile fields whose source of truth the organization has delegated to an external sync source. All rejected fields are reported in one response so a single retry can fix the request. Each details entry has:
  • field — the rejected request field: name, title, manager, or linkedin_url.
  • source — the configured source of truth: DIRECTORY or SCIM.
A field is rejected even when the submitted value equals the stored value, so read-modify-write clients should omit sync-managed fields rather than echo them back.