{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/zoho/main/json-schema/zoho-user-schema.json",
  "title": "User",
  "description": "Schema representing a user in Zoho CRM.",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/zoho-settings-api-openapi.yml#/components/schemas/User",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 100,
      "description": "Unique identifier for the user."
    },
    "first_name": {
      "type": "string",
      "maxLength": 50,
      "description": "User's first name."
    },
    "last_name": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 50,
      "description": "User's last name (optional)."
    },
    "full_name": {
      "type": "string",
      "maxLength": 200,
      "description": "User's full name."
    },
    "country": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 100,
      "description": "User's country."
    },
    "state": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 100,
      "description": "User's state/province."
    },
    "city": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 100,
      "description": "User's city."
    },
    "zip": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 30,
      "description": "User's postal/zip code."
    },
    "fax": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 30,
      "description": "User's fax number."
    },
    "street": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 250,
      "description": "User's street address."
    },
    "status": {
      "type": "string",
      "enum": [
        "inactive",
        "deleted",
        "rejected",
        "active",
        "closed",
        "disabled"
      ],
      "description": "User's account status."
    },
    "category": {
      "type": "string",
      "enum": [
        "regular_user",
        "sandbox_user",
        "light_user"
      ],
      "description": "User's category/type."
    },
    "profile": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 100,
          "description": "Profile ID."
        },
        "name": {
          "type": "string",
          "maxLength": 100,
          "description": "Profile name."
        }
      },
      "required": [
        "id",
        "name"
      ],
      "description": "User's profile."
    },
    "role": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 100,
          "description": "Role ID."
        },
        "name": {
          "type": "string",
          "maxLength": 100,
          "description": "Role name."
        }
      },
      "required": [
        "id",
        "name"
      ],
      "description": "User's role."
    },
    "created_by": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 100,
          "description": "Creator's ID."
        },
        "name": {
          "type": "string",
          "maxLength": 200,
          "description": "Creator's full name."
        }
      },
      "required": [
        "id",
        "name"
      ],
      "description": "User who created this account."
    },
    "created_time": {
      "type": "string",
      "format": "date-time",
      "description": "When the user account was created."
    },
    "Modified_By": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 100,
          "description": "Modifier's ID."
        },
        "name": {
          "type": "string",
          "maxLength": 200,
          "description": "Modifier's full name."
        }
      },
      "required": [
        "id",
        "name"
      ],
      "description": "User who last modified this account."
    },
    "Modified_Time": {
      "type": "string",
      "format": "date-time",
      "description": "When the user account was last modified."
    },
    "language": {
      "type": "string",
      "maxLength": 50,
      "description": "User's preferred language."
    },
    "locale": {
      "type": "string",
      "maxLength": 50,
      "description": "User's locale."
    },
    "time_zone": {
      "type": "string",
      "maxLength": 50,
      "description": "User's time zone."
    },
    "time_format": {
      "type": "string",
      "enum": [
        "HH:mm",
        "hh:mm a"
      ],
      "description": "User's preferred time format."
    },
    "date_format": {
      "type": "string",
      "maxLength": 50,
      "description": "User's preferred date format."
    },
    "decimal_separator": {
      "type": "string",
      "enum": [
        "Comma",
        "Period"
      ],
      "description": "User's preferred decimal separator."
    },
    "number_separator": {
      "type": "string",
      "maxLength": 10,
      "description": "User's preferred number separator."
    },
    "country_locale": {
      "type": "string",
      "maxLength": 50,
      "description": "User's country locale."
    },
    "microsoft": {
      "type": "boolean",
      "description": "Whether user has Microsoft integration enabled."
    },
    "sandboxDeveloper": {
      "type": "boolean",
      "description": "Whether user is a sandbox developer."
    },
    "personal_account": {
      "type": "boolean",
      "description": "Whether this is a personal account."
    },
    "Isonline": {
      "type": "boolean",
      "description": "Whether user is currently online."
    },
    "confirm": {
      "type": "boolean",
      "description": "Whether user has confirmed their account."
    },
    "offset": {
      "type": "integer",
      "format": "int32",
      "description": "Time zone offset in milliseconds."
    },
    "zuid": {
      "type": "string",
      "maxLength": 100,
      "description": "Zoho user ID."
    },
    "alias": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 50,
      "description": "User's alias."
    },
    "dob": {
      "type": [
        "string",
        "null"
      ],
      "format": "date",
      "description": "User's date of birth."
    },
    "website": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "[a-z0-9]{5}[.]com",
      "maxLength": 250,
      "description": "User's website."
    },
    "signature": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 200,
      "description": "User's signature."
    },
    "name_format__s": {
      "type": "string",
      "enum": [
        "First Name,Last Name,Salutation",
        "Salutation,First Name,Last Name",
        "First Name,Salutation,Last Name",
        "Last Name,Salutation,First Name",
        "Salutation,Last Name,First Name",
        "Last Name,First Name,Salutation"
      ],
      "description": "User's preferred name format."
    },
    "sort_order_preference__s": {
      "type": "string",
      "maxLength": 50,
      "description": "User's sort order preference."
    },
    "status_reason__s": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 100,
      "description": "Reason for user's status."
    },
    "default_tab_group": {
      "type": "string",
      "maxLength": 100,
      "description": "User's default tab group."
    },
    "$shift_effective_from": {
      "type": [
        "object",
        "null"
      ],
      "description": "When user's shift becomes effective (optional)."
    },
    "$current_shift": {
      "type": [
        "object",
        "null"
      ],
      "description": "User's current shift (optional)."
    },
    "$next_shift": {
      "type": [
        "object",
        "null"
      ],
      "description": "User's next shift (optional)."
    },
    "customize_info": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "notes_desc": {
          "type": [
            "object",
            "null"
          ],
          "description": "Notes description."
        },
        "show_right_panel": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Show right panel."
        },
        "show_left_panel": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Show left panel."
        },
        "bc_view": {
          "type": [
            "object",
            "null"
          ],
          "description": "Business card view."
        },
        "show_home": {
          "type": "boolean",
          "description": "Show home page."
        },
        "show_detail_view": {
          "type": "boolean",
          "description": "Show detail view."
        },
        "unpin_recent_item": {
          "type": [
            "object",
            "null"
          ],
          "description": "Unpin recent items."
        }
      },
      "description": "User's customization preferences."
    },
    "theme": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "normal_tab": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "font_color": {
              "type": "string",
              "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
              "maxLength": 7,
              "description": "Font color in hex."
            },
            "background": {
              "type": "string",
              "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
              "maxLength": 7,
              "description": "Background color in hex."
            }
          },
          "required": [
            "font_color",
            "background"
          ],
          "description": "Normal tab theme."
        },
        "selected_tab": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "font_color": {
              "type": "string",
              "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
              "maxLength": 7,
              "description": "Font color in hex."
            },
            "background": {
              "type": "string",
              "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
              "maxLength": 7,
              "description": "Background color in hex."
            }
          },
          "required": [
            "font_color",
            "background"
          ],
          "description": "Selected tab theme."
        },
        "new_background": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
          "maxLength": 7,
          "description": "New background color (optional)."
        },
        "background": {
          "type": "string",
          "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
          "maxLength": 7,
          "description": "Overall background color."
        },
        "screen": {
          "type": "string",
          "enum": [
            "stretched",
            "fixed"
          ],
          "description": "Screen layout."
        },
        "type": {
          "type": "string",
          "enum": [
            "default",
            "custom"
          ],
          "description": "Theme type."
        }
      },
      "required": [
        "normal_tab",
        "selected_tab",
        "background",
        "screen",
        "type"
      ],
      "description": "User's UI theme preferences."
    }
  },
  "required": [
    "id",
    "first_name",
    "full_name",
    "email",
    "status",
    "category",
    "profile",
    "role",
    "created_by",
    "created_time",
    "Modified_By",
    "Modified_Time",
    "language",
    "locale",
    "zuid"
  ]
}