{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PutUser",
  "title": "PutUser",
  "type": "object",
  "required": [
    "schemas",
    "userName",
    "userType"
  ],
  "properties": {
    "schemas": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "urn:ietf:params:scim:schemas:core:2.0:User,urn:ietf:params:scim:schemas:extension:enterprise:2.0:User,urn:scim:schemas:extension:cisco:webexidentity:2.0:User"
      },
      "description": "Input JSON schemas."
    },
    "userName": {
      "type": "string",
      "example": "user1Changed@example.com",
      "description": "A unique identifier for the user and authenticates the user in Webex.  This must be set to the user's primary email address.  No other user in Webex may have the same `userName` value and thus this value is required to be unique within Webex."
    },
    "userType": {
      "$ref": "#/components/schemas/UserTypeObject",
      "description": "User type."
    },
    "title": {
      "type": "string",
      "example": "Sales manager",
      "description": "The user's business title.  Examples of a title is \"Business Manager\". \"Senior Accountant\", \"Engineer\" etc."
    },
    "active": {
      "type": "boolean",
      "example": true,
      "description": "A boolean value of \"true\" or \"false\" indicating whether the user is allowed to login to Webex."
    },
    "roles": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RoleObject"
      },
      "description": "List of roles assigned to the user."
    },
    "preferredLanguage": {
      "type": "string",
      "example": "en_US",
      "description": "User's preferred language.  Acceptable values for this field are based on the [ISO-696](http://www.loc.gov/standards/iso639-2/php/code_list.php) and [ISO-3166](https://www.iso.org/obp/ui/#search) with the 2 letter language code followed by an _ and then the 2 letter country code.  Examples are:\n\n                                    en_US : for United States English or fr_FR for Parisian French."
    },
    "locale": {
      "type": "string",
      "example": "en_US",
      "description": "The user's locale which represents the user's currency, time format, and numerical representations.  Acceptable values are based on the [ISO-696](http://www.loc.gov/standards/iso639-2/php/code_list.php) and [ISO-3166](https://www.iso.org/obp/ui/#search) with the 2 letter language code followed by an _ and then the 2 letter country code.  Examples are:\n\n                         en_US : for United States English or fr_FR for Parisian French."
    },
    "timezone": {
      "type": "string",
      "example": "America/Los_Angeles",
      "description": "The user's time zone specified in the [IANA timezone](https://nodatime.org/timezones) timezone format. e.g: \"America/Los_Angeles\"."
    },
    "profileUrl": {
      "type": "string",
      "example": "https://jojowiki.com/Jonathan_Joestar",
      "description": "A fully qualified URL pointing to a page representing the user's online profile."
    },
    "externalId": {
      "type": "string",
      "example": "externalIdNewValue",
      "description": "User identifier provided by an external provisioning source."
    },
    "displayName": {
      "type": "string",
      "example": "Mr. Jonathan Jane Joestar, III",
      "description": "The name displayed for the user in Webex."
    },
    "nickName": {
      "type": "string",
      "example": "JoJo",
      "description": "A casual name of the user. For example, Bob when the user's formal name is Robert."
    },
    "phoneNumbers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "400 123 1234",
            "description": "phone number."
          },
          "type": {
            "type": "string",
            "enum": [
              "work",
              "home",
              "mobile",
              "work_extension",
              "fax",
              "pager",
              "other"
            ],
            "description": "We support the following phone number types: 'mobile', 'work', 'fax', 'work_extension', 'alternate1', 'alternate2'.  Alternate 1 and Alternate 2 are types inherited from Webex meeting sites."
          },
          "display": {
            "type": "string",
            "example": "work phone number",
            "description": "A human-readable name, primarily used for display purposes."
          },
          "primary": {
            "type": "boolean",
            "example": true,
            "description": "A Boolean value indicating the phone number's primary status."
          }
        }
      },
      "description": "A list of user's phone numbers."
    },
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PhotoObject"
      },
      "description": "A list of photo objects for the user."
    },
    "addresses": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "work",
            "description": "address type"
          },
          "streetAddress": {
            "type": "string",
            "example": "100 Universal City Plaza",
            "description": "The full street address component, which may include house number, street name, P.O. box, and multi-line extended street address information. This attribute MAY contain newlines."
          },
          "locality": {
            "type": "string",
            "example": "Hollywood",
            "description": "The city or locality component."
          },
          "region": {
            "type": "string",
            "example": "CA",
            "description": "The state or region component."
          },
          "postalCode": {
            "type": "string",
            "example": "91608",
            "description": "The zip code or postal code component."
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country name component."
          }
        }
      },
      "description": "User's physical mailing address."
    },
    "emails": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailObject"
      },
      "description": "A list of the user's email addresses, including primary and alternative emails. The primary work email address must match the value of the user's username."
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
      "type": "object",
      "properties": {
        "costCenter": {
          "type": "string",
          "example": "costCenter 123",
          "description": "Name of a cost center."
        },
        "organization": {
          "type": "string",
          "example": "Cisco webexidentity",
          "description": "Name of an organization."
        },
        "division": {
          "type": "string",
          "example": "division 456",
          "description": "Name of a division."
        },
        "department": {
          "type": "string",
          "example": "department 789",
          "description": "Name of a department."
        },
        "employeeNumber": {
          "type": "string",
          "example": "518-8888-888",
          "description": "Numeric or alphanumeric identifier assigned to a person, typically based on the order of hire or association with an organization."
        },
        "manager": {
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string",
              "example": "b5717a4a-0169-43b2-ac3c-db20ba4e72cd",
              "description": "Webex Identity assigned user identifier of the user's manager. The manager must belong to the same org as the user."
            }
          },
          "description": "The user's manager."
        }
      },
      "description": "SCIM2 enterprise extension"
    },
    "urn:scim:schemas:extension:cisco:webexidentity:2.0:User": {
      "type": "object",
      "required": [
        "accountStatus"
      ],
      "properties": {
        "accountStatus": {
          "$ref": "#/components/schemas/AccountStatusObject",
          "description": "An array of additional information about a user's status."
        },
        "sipAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/SipAddressObject"
          },
          "description": "`sipAddress` values for the user."
        },
        "managedOrgs": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ManagedOrgsObject"
          },
          "description": "Organizations that the user can manage."
        },
        "managedGroups": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ManagedGroupsObject"
          },
          "description": "Groups that the user can manage."
        },
        "extensionAttribute*": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The extension attributes of the user. Postfix support from 1 to 15, for example: \"extensionAttribute1\", \"extensionAttribute2\", ..., \"extensionAttribute15\"."
        },
        "externalAttribute*": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ExternalAttributeObject"
          },
          "description": "The external attributes of the user. Postfix support from 1 to 15, for example: \"externalAttribute1\", \"externalAttribute2\", ..., \"externalAttribute15\"."
        }
      },
      "description": "cisco extension of SCIM 2"
    }
  }
}