Skip to main content
PATCH
https://sandbox.getcollate.io/api
/
v1
/
users
/
{id}
PATCH /v1/users/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Users

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# Retrieve, modify, and update
user = Users.retrieve("77655e6e-ad33-49da-bbca-db4ba4d4e2cd")
user.description = "Senior data analyst in the Sales team"
user.displayName = "Aaron M. Johnson"
updated = Users.update(user)

print(f"Updated to version {updated.version}")
{
  "id": "77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
  "name": "aaron_johnson0",
  "fullyQualifiedName": "aaron_johnson0",
  "displayName": "Aaron M. Johnson",
  "description": "Senior data analyst in the Sales team",
  "version": 0.2,
  "updatedAt": 1769982624214,
  "updatedBy": "admin",
  "email": "[email protected]",
  "href": "http://localhost:8585/api/v1/users/77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
  "isBot": false,
  "isAdmin": false,
  "allowImpersonation": false,
  "teams": [
    {
      "id": "7a2b921b-f623-4eb5-9736-649788ad842c",
      "type": "team",
      "name": "Sales",
      "fullyQualifiedName": "Sales",
      "displayName": "Sales",
      "deleted": false
    }
  ],
  "personas": [],
  "deleted": false,
  "roles": [
    {
      "id": "761c2bb2-0b77-4bc5-9af9-cf89536d6a12",
      "type": "role",
      "name": "DataSteward",
      "fullyQualifiedName": "DataSteward",
      "displayName": "Data Steward",
      "deleted": false
    }
  ],
  "domains": []
}

Update a User

Update a user’s properties using JSON Merge Patch. You can update by ID or by fully qualified name.

Update by ID

id
string
required
UUID of the user to update.

Update by Name

Use PATCH /v1/users/name/{fqn} to update by fully qualified name.
fqn
string
required
Fully qualified name of the user (e.g., aaron_johnson0).

Body Parameters

Send a JSON object with the fields to update. Only provided fields are changed.
displayName
string
Updated display name.
description
string
Updated description in Markdown format.
email
string
Updated email address.
isAdmin
boolean
Updated admin status.
teams
array
Updated list of team references.
roles
array
Updated list of role references.
domain
string
Updated domain FQN.
profile
object
Updated profile information.
PATCH /v1/users/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Users

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# Retrieve, modify, and update
user = Users.retrieve("77655e6e-ad33-49da-bbca-db4ba4d4e2cd")
user.description = "Senior data analyst in the Sales team"
user.displayName = "Aaron M. Johnson"
updated = Users.update(user)

print(f"Updated to version {updated.version}")
{
  "id": "77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
  "name": "aaron_johnson0",
  "fullyQualifiedName": "aaron_johnson0",
  "displayName": "Aaron M. Johnson",
  "description": "Senior data analyst in the Sales team",
  "version": 0.2,
  "updatedAt": 1769982624214,
  "updatedBy": "admin",
  "email": "[email protected]",
  "href": "http://localhost:8585/api/v1/users/77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
  "isBot": false,
  "isAdmin": false,
  "allowImpersonation": false,
  "teams": [
    {
      "id": "7a2b921b-f623-4eb5-9736-649788ad842c",
      "type": "team",
      "name": "Sales",
      "fullyQualifiedName": "Sales",
      "displayName": "Sales",
      "deleted": false
    }
  ],
  "personas": [],
  "deleted": false,
  "roles": [
    {
      "id": "761c2bb2-0b77-4bc5-9af9-cf89536d6a12",
      "type": "role",
      "name": "DataSteward",
      "fullyQualifiedName": "DataSteward",
      "displayName": "Data Steward",
      "deleted": false
    }
  ],
  "domains": []
}

Returns

Returns the updated user object with the new version number.

Response

id
string
Unique identifier for the user (UUID format).
name
string
Username.
fullyQualifiedName
string
Fully qualified name (same as name for users).
description
string
Updated description.
version
number
Incremented version number.

Error Handling

CodeError TypeDescription
400BAD_REQUESTInvalid JSON patch or malformed request
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to update this user
404NOT_FOUNDUser with given ID or FQN does not exist
409CONFLICTConcurrent modification detected