{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/AccountUpdate",
  "title": "AccountUpdate",
  "type": "object",
  "description": "Properties for updating an existing account.",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 160,
      "description": "The company or business name."
    },
    "accountnumber": {
      "type": "string",
      "maxLength": 20,
      "description": "ID number or code for the account."
    },
    "description": {
      "type": "string",
      "description": "Additional information to describe the account."
    },
    "emailaddress1": {
      "type": "string",
      "format": "email",
      "maxLength": 100,
      "description": "Primary email address."
    },
    "telephone1": {
      "type": "string",
      "maxLength": 50,
      "description": "Main phone number."
    },
    "fax": {
      "type": "string",
      "maxLength": 50,
      "description": "Fax number."
    },
    "websiteurl": {
      "type": "string",
      "format": "uri",
      "maxLength": 200,
      "description": "Website URL."
    },
    "revenue": {
      "type": "number",
      "description": "Annual revenue."
    },
    "numberofemployees": {
      "type": "integer",
      "description": "Number of employees."
    },
    "sic": {
      "type": "string",
      "maxLength": 20,
      "description": "SIC code."
    },
    "tickersymbol": {
      "type": "string",
      "maxLength": 10,
      "description": "Stock exchange symbol."
    },
    "industrycode": {
      "type": "integer",
      "description": "Primary industry code."
    },
    "ownershipcode": {
      "type": "integer",
      "description": "Ownership structure code."
    },
    "accountcategorycode": {
      "type": "integer",
      "description": "Category code."
    },
    "customertypecode": {
      "type": "integer",
      "description": "Relationship type code."
    },
    "preferredcontactmethodcode": {
      "type": "integer",
      "description": "Preferred method of contact code."
    },
    "paymenttermscode": {
      "type": "integer",
      "description": "Payment terms code."
    },
    "creditlimit": {
      "type": "number",
      "description": "Credit limit."
    },
    "creditonhold": {
      "type": "boolean",
      "description": "Whether credit is on hold."
    },
    "donotemail": {
      "type": "boolean",
      "description": "Whether to allow direct email."
    },
    "donotphone": {
      "type": "boolean",
      "description": "Whether to allow phone calls."
    },
    "donotfax": {
      "type": "boolean",
      "description": "Whether to allow faxes."
    },
    "donotpostalmail": {
      "type": "boolean",
      "description": "Whether to allow direct mail."
    },
    "donotbulkemail": {
      "type": "boolean",
      "description": "Whether to allow bulk email."
    },
    "address1_name": {
      "type": "string",
      "maxLength": 200
    },
    "address1_line1": {
      "type": "string",
      "maxLength": 250
    },
    "address1_line2": {
      "type": "string",
      "maxLength": 250
    },
    "address1_line3": {
      "type": "string",
      "maxLength": 250
    },
    "address1_city": {
      "type": "string",
      "maxLength": 80
    },
    "address1_stateorprovince": {
      "type": "string",
      "maxLength": 50
    },
    "address1_postalcode": {
      "type": "string",
      "maxLength": 20
    },
    "address1_country": {
      "type": "string",
      "maxLength": 80
    },
    "address1_telephone1": {
      "type": "string",
      "maxLength": 50
    },
    "address1_fax": {
      "type": "string",
      "maxLength": 50
    },
    "address1_latitude": {
      "type": "number",
      "format": "double"
    },
    "address1_longitude": {
      "type": "number",
      "format": "double"
    },
    "address1_addresstypecode": {
      "type": "integer"
    },
    "statecode": {
      "type": "integer"
    },
    "statuscode": {
      "type": "integer"
    },
    "primarycontactid@odata.bind": {
      "type": "string",
      "description": "Bind reference to a contact record. Format: /contacts(GUID)."
    },
    "parentaccountid@odata.bind": {
      "type": "string",
      "description": "Bind reference to a parent account record. Format: /accounts(GUID)."
    },
    "transactioncurrencyid@odata.bind": {
      "type": "string",
      "description": "Bind reference to a currency record. Format: /transactioncurrencies(GUID)."
    }
  }
}