v3

latestOpenAPI 3.0.22026-08-04424560.5 KB
User V2

updateUserV2

Update user details

patch/v2/users/{id}

Path parameters

idstring required

User's unique identifier

The Id of user

Request body

idstring

User's unique identifier

organization_idstring
created_atstring date-time
activated_atstring date-time
display_namestring

User's display name (default: email address)

status'Active' | 'Pending' | 'Deactivated' | 'Deleted'
emailstring email

User's email address

draft_emailstring email nullable

User's pending email address

draft_email_expires_atstring date-time nullable

Server-set expiry for the pending email change verification link (ISO 8601). Read-only.

password_reset_token_hashstring nullable

Internal: sha256 hash of the active password-reset token. Server-set, never returned in responses.

password_reset_token_expires_atstring date-time nullable

Internal: expiry for the active password-reset token (ISO 8601). Server-set, never returned in responses.

departmentstring nullable

User's department

phonestring nullable

User's phone number

secondary_phonestring nullable

User's secondary phone number, preferred for communication

mfa_enabledboolean

User's multi-factor authentication status

totp_enabledboolean

Whether the user has TOTP (authenticator app) MFA enabled

has_passkeysboolean

Whether the user has any registered passkeys

phone_verifiedboolean

User's phone number verification status

tokenstring

Token used to invite a user to epilot

signaturestring nullable

User's email signature

is_signature_enabledboolean nullable

Whether the user's signature is enabled

preferred_languagestring

User's preferred language

custom_start_pagestring nullable

User's start page after login

custom_navigationstring nullable

Navigation unique identifier - a hash of the normalized navigation payload (name + configuration). Identical navigations across orgs will have the same ID.

override_release_channel'canary' | 'rc' | 'stable' | 'null' nullable

This field is used to override the release channel for the user.

feature_preferencesobject nullable

User's feature preferences

favoritesobject
email_notification_settingobject
in_app_notification_settingobject

Per-notification-type in-app delivery preferences (notification type key -> enabled). Written by the my-account notification settings UI and honored by svc-notification-api at delivery time. Absent or partial keys fall back to each notification type's configured default. Mirrors email_notification_setting for the in-app channel.

tagsstring[] nullable

User tags/labels assigned for classification (e.g. label slugs)

Example request

{
  "display_name": "Example User",
  "department": "Sales",
  "phone_verified": true,
  "signature": "<p>Thanks</p>",
  "is_signature_enabled": true,
  "preferred_language": "de",
  "custom_navigation": "5gbe4nkp6jsfq",
  "feature_preferences": {
    "feature_name": true
  },
  "image_uri": {
    "original": "https://account-profile-images.epilot.cloud/1/avatar.png",
    "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
  },
  "favorites": {
    "entity_views": {
      "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
      "order": "628aee91-7c2f-4047-ab0d-433582a19c49"
    },
    "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
  },
  "email_notification_setting": {
    "added_participant_opportunity": true,
    "assigned_opportunity": true,
    "assigned_task": true,
    "comment_opportunity": true,
    "deleted_task": true,
    "escalated_task": true,
    "message_receive_opportunity": true,
    "message_send_opportunity": true,
    "created_task": true,
    "created_opportunity_manual": true,
    "created_opportunity_auto": true,
    "deleted_opportunity": true
  },
  "in_app_notification_setting": {
    "integration_critical_error": true,
    "integration_error_threshold": true,
    "assigned_opportunity": true,
    "assigned_task": true
  },
  "properties": [
    {
      "name": "profileImageName",
      "value": "avatar.png"
    }
  ],
  "tags": [
    "non-billable"
  ]
}

Response

The returned user

idstring

User's unique identifier

organization_idstring
created_atstring date-time
activated_atstring date-time
display_namestring

User's display name (default: email address)

status'Active' | 'Pending' | 'Deactivated' | 'Deleted'
emailstring email

User's email address

draft_emailstring email nullable

User's pending email address

draft_email_expires_atstring date-time nullable

Server-set expiry for the pending email change verification link (ISO 8601). Read-only.

password_reset_token_hashstring nullable

Internal: sha256 hash of the active password-reset token. Server-set, never returned in responses.

password_reset_token_expires_atstring date-time nullable

Internal: expiry for the active password-reset token (ISO 8601). Server-set, never returned in responses.

departmentstring nullable

User's department

phonestring nullable

User's phone number

secondary_phonestring nullable

User's secondary phone number, preferred for communication

mfa_enabledboolean

User's multi-factor authentication status

totp_enabledboolean

Whether the user has TOTP (authenticator app) MFA enabled

has_passkeysboolean

Whether the user has any registered passkeys

phone_verifiedboolean

User's phone number verification status

tokenstring

Token used to invite a user to epilot

signaturestring nullable

User's email signature

is_signature_enabledboolean nullable

Whether the user's signature is enabled

preferred_languagestring

User's preferred language

custom_start_pagestring nullable

User's start page after login

custom_navigationstring nullable

Navigation unique identifier - a hash of the normalized navigation payload (name + configuration). Identical navigations across orgs will have the same ID.

override_release_channel'canary' | 'rc' | 'stable' | 'null' nullable

This field is used to override the release channel for the user.

feature_preferencesobject nullable

User's feature preferences

favoritesobject
email_notification_settingobject
in_app_notification_settingobject

Per-notification-type in-app delivery preferences (notification type key -> enabled). Written by the my-account notification settings UI and honored by svc-notification-api at delivery time. Absent or partial keys fall back to each notification type's configured default. Mirrors email_notification_setting for the in-app channel.

tagsstring[] nullable

User tags/labels assigned for classification (e.g. label slugs)

Example response

{
  "display_name": "Example User",
  "department": "Sales",
  "phone_verified": true,
  "signature": "<p>Thanks</p>",
  "is_signature_enabled": true,
  "preferred_language": "de",
  "custom_navigation": "5gbe4nkp6jsfq",
  "feature_preferences": {
    "feature_name": true
  },
  "image_uri": {
    "original": "https://account-profile-images.epilot.cloud/1/avatar.png",
    "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
  },
  "favorites": {
    "entity_views": {
      "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
      "order": "628aee91-7c2f-4047-ab0d-433582a19c49"
    },
    "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
  },
  "email_notification_setting": {
    "added_participant_opportunity": true,
    "assigned_opportunity": true,
    "assigned_task": true,
    "comment_opportunity": true,
    "deleted_task": true,
    "escalated_task": true,
    "message_receive_opportunity": true,
    "message_send_opportunity": true,
    "created_task": true,
    "created_opportunity_manual": true,
    "created_opportunity_auto": true,
    "deleted_opportunity": true
  },
  "in_app_notification_setting": {
    "integration_critical_error": true,
    "integration_error_threshold": true,
    "assigned_opportunity": true,
    "assigned_task": true
  },
  "properties": [
    {
      "name": "profileImageName",
      "value": "avatar.png"
    }
  ],
  "tags": [
    "non-billable"
  ]
}