{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/UpdateContact",
  "title": "UpdateContact",
  "type": "object",
  "required": [
    "schemas",
    "source"
  ],
  "properties": {
    "schemas": {
      "type": "string",
      "example": "urn:cisco:codev:identity:contact:core:1.0",
      "description": "\"urn:cisco:codev:identity:contact:core:1.0\"."
    },
    "displayName": {
      "type": "string",
      "example": "John Andersen",
      "description": "The full name of the contact."
    },
    "firstName": {
      "type": "string",
      "example": "John",
      "description": "The first name of the contact."
    },
    "lastName": {
      "type": "string",
      "example": "Andersen",
      "description": "The last name of the contact."
    },
    "companyName": {
      "type": "string",
      "example": "Cisco Systems",
      "description": "The company the contact is working for."
    },
    "title": {
      "type": "string",
      "example": "GM",
      "description": "The contact's title."
    },
    "address": {
      "type": "string",
      "example": "{\\\"city\\\" : \\\"Milpitas\\\", \\\"country\\\" : \\\"US\\\", \\\"street\\\" : \\\"1099 Bird Ave.\\\", \\\"zipCode\\\" : \\\"99212\\\"}",
      "description": "Contact's address."
    },
    "avatarURL": {
      "type": "string",
      "example": "https://avatar-prod-us-east-2.webexcontent.com/default_avatar~1600",
      "description": "The URL to the person's avatar in PNG format."
    },
    "primaryContactMethod": {
      "type": "string",
      "enum": [
        "SIPADDRESS",
        "EMAIL",
        "PHONE",
        "IMS"
      ],
      "description": "The contact's primary contact method."
    },
    "source": {
      "type": "string",
      "enum": [
        "CH",
        "Webex4Broadworks"
      ],
      "description": "Where the data come from."
    },
    "emails": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "user1@example.home.com",
            "description": "The email address."
          },
          "type": {
            "type": "string",
            "enum": [
              "work",
              "home",
              "room",
              "other"
            ],
            "description": "The type of the email."
          },
          "primary": {
            "type": "boolean",
            "description": "A Boolean value indicating the email status."
          }
        }
      },
      "description": "A list of the user's email addresses with an indicator of the user's primary email address."
    },
    "phoneNumbers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "400 123 1234",
            "description": "The phone number."
          },
          "type": {
            "type": "string",
            "enum": [
              "work",
              "home",
              "mobile",
              "work_extension",
              "fax",
              "pager",
              "other"
            ],
            "description": "The types of the phone numbers."
          },
          "primary": {
            "type": "boolean",
            "example": true,
            "description": "A Boolean value indicating the phone number's primary status."
          },
          "operation": {
            "type": "string",
            "example": "delete",
            "description": "- A String value on the operation, only `delete` is supported now."
          }
        }
      },
      "description": "A list of user's phone numbers with an indicator of primary to specify the user's main number."
    },
    "sipAddresses": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "value"
        ],
        "properties": {
          "value": {
            "type": "string",
            "example": "sipAddress value1",
            "description": "The sipAddress value."
          },
          "type": {
            "type": "string",
            "enum": [
              "enterprise",
              "cloud-calling",
              "personal-room"
            ],
            "description": "The type of the sipAddress."
          },
          "primary": {
            "type": "boolean",
            "example": true,
            "description": "Designate the primary sipAddress."
          }
        }
      },
      "description": "The sipAddress values for the user."
    },
    "ims": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "aim_account_ID",
            "description": "The IMS account value."
          },
          "type": {
            "type": "string",
            "enum": [
              "aim",
              "cucm-jid",
              "gtalk",
              "icq",
              "msn",
              "qq",
              "skype",
              "webex-messenger-jid",
              "webex-squared-jid",
              "xmpp",
              "yahoo",
              "microsoft-sip-uri",
              "xmpp-fed-jid"
            ],
            "description": "The type of the IMS."
          },
          "primary": {
            "type": "boolean",
            "example": true,
            "description": "A Boolean value indicating the IMS account status."
          }
        }
      },
      "description": "Instant messaging addresses for the user."
    },
    "groupIds": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "9ac175bf-0249-4287-8fb3-e320e525fcf6"
      },
      "description": "Groups associated with the contact."
    }
  }
}