{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-modify-contact-request-schema.json",
  "title": "ModifyContactRequest",
  "x-generated": "2026-10-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/wordline-company-api-openapi.yml#/components/schemas/ModifyContactRequest",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the contact. Mandatory if the departmentName attribute is not provided."
    },
    "firstName": {
      "type": "string",
      "description": "First name of the contact"
    },
    "departmentName": {
      "type": "string",
      "description": "Department name to which the contact is attached. Free text. Mandatory if the contact name is not provided"
    },
    "sex": {
      "type": "string",
      "description": "Gender of the contact"
    },
    "description": {
      "type": "string",
      "description": "Description of the role of the contact in the company (e.g. 'sales manager'). Free text"
    },
    "courtesyTitle": {
      "type": "string",
      "description": "Title of the contact. Free text"
    },
    "type": {
      "type": "string",
      "description": "The contact type (e.g. Power of Attorney, Legal Representative)"
    },
    "birthDate": {
      "type": "string",
      "format": "date-time",
      "description": "The contact's date of birth"
    },
    "postalAddress": {
      "description": "The postal adress of the contact",
      "allOf": [
        {
          "$ref": "#/$defs/ModifyAddressRequestMailAddress"
        }
      ]
    }
  },
  "$defs": {
    "ModifyAddressRequestMailAddress": {
      "type": "object",
      "required": [
        "country"
      ],
      "properties": {
        "typeCode": {
          "type": "string",
          "description": "DEPRECATED"
        },
        "courtesyTitle": {
          "type": "string",
          "description": "Courtesy title of the address. Free text"
        },
        "line1": {
          "type": "string",
          "description": "Address line 1 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line2": {
          "type": "string",
          "description": "Address line 2 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line3": {
          "type": "string",
          "description": "Address line 3 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line4": {
          "type": "string",
          "description": "Address line 4 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line5": {
          "type": "string",
          "description": "Address line 5 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "buildingNumber": {
          "type": "string",
          "description": "Building number of the address (optional)"
        },
        "boxNumber": {
          "type": "string",
          "description": "Box number of the address (optional)"
        },
        "streetName": {
          "type": "string",
          "description": "Street name of the address (optional)"
        },
        "postCode": {
          "type": "string",
          "description": "zip code of the address (optional)"
        },
        "townName": {
          "type": "string",
          "description": "City corresponding to the address"
        },
        "countrySubdivision": {
          "type": "string",
          "description": "Subdivision of the country (optional)"
        },
        "country": {
          "type": "string",
          "description": "Code of the country (mandatory). Free text. The value can be subject to a validation process if a specific rule has been configured at issuer level. The value can be optional if a specific rule has been configured."
        }
      },
      "title": "ModifyAddressRequest.MailAddress"
    }
  }
}