{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure/json-schema/microsoft-azure-address-update-parameter-schema.json",
  "title": "AddressUpdateParameter",
  "description": "The Address update parameters.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-addresses-api-openapi.yml#/components/schemas/AddressUpdateParameter",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/AddressUpdateProperties",
      "description": "Properties of an address to be updated.",
      "x-ms-client-flatten": true
    },
    "tags": {
      "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "AddressUpdateProperties": {
      "description": "Address Update Properties.",
      "type": "object",
      "properties": {
        "shippingAddress": {
          "$ref": "#/$defs/ShippingAddress",
          "description": "Shipping details for the address."
        },
        "contactDetails": {
          "$ref": "#/$defs/ContactDetails",
          "description": "Contact details for the address."
        }
      }
    },
    "ContactDetails": {
      "description": "Contact Details.",
      "required": [
        "contactName",
        "phone",
        "emailList"
      ],
      "type": "object",
      "properties": {
        "contactName": {
          "description": "Contact name of the person.",
          "type": "string"
        },
        "phone": {
          "description": "Phone number of the contact person.",
          "type": "string"
        },
        "phoneExtension": {
          "description": "Phone extension number of the contact person.",
          "type": "string"
        },
        "mobile": {
          "description": "Mobile number of the contact person.",
          "type": "string"
        },
        "emailList": {
          "description": "List of Email-ids to be notified about job progress.",
          "uniqueItems": false,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ShippingAddress": {
      "description": "Shipping address where customer wishes to receive the device.",
      "required": [
        "streetAddress1",
        "country"
      ],
      "type": "object",
      "properties": {
        "streetAddress1": {
          "description": "Street Address line 1.",
          "type": "string"
        },
        "streetAddress2": {
          "description": "Street Address line 2.",
          "type": "string"
        },
        "streetAddress3": {
          "description": "Street Address line 3.",
          "type": "string"
        },
        "city": {
          "description": "Name of the City.",
          "type": "string"
        },
        "stateOrProvince": {
          "description": "Name of the State or Province.",
          "type": "string"
        },
        "country": {
          "description": "Name of the Country.",
          "type": "string"
        },
        "postalCode": {
          "description": "Postal code.",
          "type": "string"
        },
        "zipExtendedCode": {
          "description": "Extended Zip Code.",
          "type": "string"
        },
        "companyName": {
          "description": "Name of the company.",
          "type": "string"
        },
        "addressType": {
          "description": "Type of address.",
          "enum": [
            "None",
            "Residential",
            "Commercial"
          ],
          "type": "string",
          "x-ms-enum": {
            "name": "AddressType",
            "modelAsString": true,
            "values": [
              {
                "value": "None",
                "description": "Address type not known."
              },
              {
                "value": "Residential",
                "description": "Residential Address."
              },
              {
                "value": "Commercial",
                "description": "Commercial Address."
              }
            ]
          }
        }
      }
    }
  }
}