{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-address-read-extended-schema.json",
  "title": "AddressReadExtended",
  "description": "Addresses store information about constituent residences and other addresses along with information about where, how, and whether to send mail.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blackbaud-constituent-api-openapi.yml#/components/schemas/AddressReadExtended",
  "type": "object",
  "properties": {
    "id": {
      "description": "The immutable system record ID of the address.",
      "type": "string"
    },
    "address_lines": {
      "description": "The address lines.",
      "type": "string"
    },
    "city": {
      "description": "The city of the address.",
      "type": "string"
    },
    "constituent_id": {
      "description": "The immutable system record ID of the constituent associated with the address.",
      "type": "string"
    },
    "country": {
      "description": "The country of the address.",
      "type": "string"
    },
    "county": {
      "description": "The county of the address.",
      "type": "string"
    },
    "date_added": {
      "format": "date-time",
      "description": "The date when the address was created. Includes an offset from UTC in <a href=\"https://tools.ietf.org/html/rfc3339\">ISO-8601 format: </a><i>1969-11-21T10:29:43-04:00</i>.",
      "type": "string",
      "x-supports-datetime-offset": true
    },
    "date_modified": {
      "format": "date-time",
      "description": "The date when the address was last modified. Includes an offset from UTC in <a href=\"https://tools.ietf.org/html/rfc3339\">ISO-8601 format: </a><i>1969-11-21T10:29:43-04:00</i>.",
      "type": "string",
      "x-supports-datetime-offset": true
    },
    "do_not_mail": {
      "description": "Indicates whether the constituent requests not to be contacted at this address.",
      "type": "boolean"
    },
    "end": {
      "format": "date-time",
      "description": "The date when the constituent ceased to reside at this address. Uses <a href=\"https://tools.ietf.org/html/rfc3339\">ISO-8601 format: </a><i>1969-11-21T10:29:43</i>.",
      "type": "string",
      "x-supports-datetime-offset": false
    },
    "formatted_address": {
      "description": "This computed field retrieves the formatted address in the configured format of the country.",
      "type": "string"
    },
    "inactive": {
      "description": "This computed field indicates that the address is active if the current date is before any <code>end</code> date.",
      "type": "boolean"
    },
    "postal_code": {
      "description": "The postal code of the address.",
      "type": "string"
    },
    "preferred": {
      "description": "Indicates whether this is the constituent's preferred address.",
      "type": "boolean"
    },
    "seasonal_end": {
      "$ref": "#/$defs/FuzzyDate",
      "description": "The time of the year ceases to reside at this address."
    },
    "seasonal_start": {
      "$ref": "#/$defs/FuzzyDate",
      "description": "The time of year that the constituent begins residing at this address."
    },
    "start": {
      "format": "date-time",
      "description": "The date when the constituent began residing at this address. Uses <a href=\"https://tools.ietf.org/html/rfc3339\">ISO-8601 format: </a><i>1969-11-21T10:29:43</i>.",
      "type": "string",
      "x-supports-datetime-offset": false
    },
    "state": {
      "description": "The state of the address.",
      "type": "string"
    },
    "suburb": {
      "description": "The suburb of the address.",
      "type": "string"
    },
    "type": {
      "description": "The address type. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListAddressTypes\"><b>Address Types</b></a> table.",
      "type": "string"
    },
    "region": {
      "description": "The region of the address.",
      "type": "string"
    },
    "information_source": {
      "description": "The information source for the address.",
      "type": "string"
    },
    "lot": {
      "description": "The Line of Travel (LOT) for the address.",
      "type": "string"
    },
    "cart": {
      "description": "The Carrier Route (CART) for the address.",
      "type": "string"
    },
    "dpc": {
      "description": "The Delivery Point Code (DPC) for the address.",
      "type": "string"
    }
  },
  "x-display-name": "Address",
  "x-display-id": "Address_01",
  "x-additional-info": "\r\n<p>Some <b>Address</b> entity properties include international address support.</p>\r\n\r\n<div class=\"table-responsive\">\r\n    <table class=\"table table-striped table-hover\">\r\n        <thead>\r\n            <tr>\r\n                <th><strong>Property</strong></th>\r\n                <th><strong>United States</strong></th>\r\n                <th><strong>Canada</strong></th>\r\n                <th><strong>United Kingdom</strong></th>\r\n                <th><strong>Australia</strong></th>\r\n                <th><strong>New Zealand</strong></th>\r\n            </tr>\r\n        </thead>\r\n        <tbody>\r\n            <tr>\r\n                <td>address_lines</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n            </tr>\r\n            <tr>\r\n                <td>city</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i>*</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n            </tr>\r\n            <tr>\r\n                <td>suburb</td>\r\n                <td></td>\r\n                <td></td>\r\n                <td></td>\r\n                <td></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n            </tr>\r\n            <tr>\r\n                <td>state</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i>!</td>\r\n                <td></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td></td>\r\n            </tr>\r\n            <tr>\r\n                <td>postal_code</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n            </tr>\r\n            <tr>\r\n                <td>county</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td></td>\r\n                <td></td>\r\n            </tr>\r\n            <tr>\r\n                <td>country</td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n                <td><i class=\"fa fa-check\"></i></td>\r\n            </tr>\r\n        </tbody>\r\n    </table>\r\n</div>\r\n\r\n<div class=\"footnotes\">\r\n    <p class=\"footnote\">* <b>Australia</b> &mdash; For <code>GET</code> operations, the <code>city</code> property returns city or suburb data. For <code>POST</code> and <code>PATCH</code> operations, you can use either the <code>suburb</code> or <code>city</code> properties, but not both. An error occurs if you provide values for both properties.</p>\r\n    <p class=\"footnote\">! <b>Canada</b> &mdash; Use the <code>state</code> property to track provinces.</p>\r\n</div>",
  "$defs": {
    "FuzzyDate": {
      "description": "Fuzzy dates provide a versatile date type to create partial dates such as February 9 (with no year indicated).",
      "type": "object",
      "properties": {
        "d": {
          "format": "int32",
          "description": "The day in the fuzzy date.",
          "type": "integer"
        },
        "m": {
          "format": "int32",
          "description": "The month in the fuzzy date.",
          "type": "integer"
        },
        "y": {
          "format": "int32",
          "description": "The year in the fuzzy date.",
          "type": "integer"
        }
      },
      "x-display-name": "Fuzzy date",
      "x-display-id": "FuzzyDate"
    }
  }
}