Blackbaud · Schema

ConstituentRead

Constituents are the individuals and organizations who support your organization by contributing time, money, and resources. The constituent entity stores information about donors, prospects, volunteers, general supporters, and more.

Non-ProfitFundraisingDonor ManagementCRMFund AccountingEducationGrantmakingPaymentsPhilanthropySocial Impact

Properties

Name Type Description
id string The immutable system record ID for the constituent. This is not the same as the user-definable constituent identifier, which is stored in the lookup_id.
address object The constituent's preferred address.
age integer This computed field calculates the constituent's age based on the birthdate property. For individuals only.
birthdate object The constituent's birthdate. For individuals only.
date_added string The date when the constituent was created. Includes an offset from UTC in ISO-8601 format: 1969-11-21T10:29:43-04:00.
date_modified string The date when the constituent was last modified. Includes an offset from UTC in ISO-8601 format: 1969-11-21T10:29:43-04:00.
deceased boolean Indicates whether the constituent is deceased. For individuals only.
deceased_date object The date when the constituent died. For individuals only.
email object The constituent's primary email address, or the constituent's first active email address if no active email address is marked as primary.
first string The constituent's first name. For individuals only.
former_name string The constituent's former name. For individuals only.
fundraiser_status string Indicates whether the constituent is a fundraiser. For individuals only.
gender string The constituent's gender. Available values are the entries in the Gender table. T
gives_anonymously boolean Indicates whether the constituent gives anonymously.
inactive boolean Indicates whether the constituent is inactive.
last string The constituent's last name. For individuals only.
lookup_id string The user-defined identifier for the constituent.
marital_status string The constituent's marital status. Available values are the entries in the Marital
middle string The constituent's middle name. For individuals only.
name string If the constituent's type is Individual, this computed field indicates the full name of the constituent based on the target organization’s display name settings. If the type<
online_presence object The constituent's primary online presence, or the constituent's first active online presence if no active online presence is marked as primary.
phone object The constituent's primary phone, or the constituent's first active phone if no active phone is marked as primary.
preferred_name string The constituent's preferred name. For individuals only.
spouse object This computed field retrieves information about the constituent's spouse using the constituent's suffix string The constituent's primary suffix. Available values are the entries in the Suffixes
suffix_2 string The constituent's secondary suffix. Available values are the entries in the Suffixes
title string The constituent's primary title. Available values are the entries in the Titles ta
title_2 string The constituent's secondary title. Available values are the entries in the Titles
type string The type of constituent. Available values are Individual and Organization.
birthplace string The birthplace of the constituent. For individuals only.
ethnicity string The ethnicity of the constituent. For individuals only.
income string The income for the constituent. For individuals only.
religion string The religion of the constituent. For individuals only.
industry string The industry of the constituent. For organizations only.
matches_gifts boolean Indicates if the constituent matches gifts. For organizations only.
matching_gift_per_gift_min object The minimum matching gift per gift for the constituent. For organizations only.
matching_gift_per_gift_max object The maximum matching gift per gift for the constituent. For organizations only.
matching_gift_total_min object The minimum matching gift total for the constituent. For organizations only.
matching_gift_total_max object The maximum matching gift total for the constituent. For organizations only.
matching_gift_factor number The matching gift factor for the constituent. For organizations only.
matching_gift_notes string The matching gift notes for the constituent. For organizations only.
num_employees integer The number of employees for the constituent. For organizations only.
is_memorial boolean Indicates whether the constituent is for honor/memorial.
is_solicitor boolean Indicates whether the constituent is a solicitor.
no_valid_address boolean Indicates whether the constituent does not have a valid address.
receipt_type string The receipt type of the constituent.
target string The target of the constituent.
requests_no_email boolean Indicates whether the constituent requests no email.
import_id string The import id for the constituent.
is_constituent boolean Flag indicating whether or not this individual or organization is a constituent
num_subsidiaries integer The number of subsidiaries for the constituent. For organizations only.
parent_corporation_name string The parent corporation name of the constituent. For organizations only.
parent_corporation_id integer The parent corporation identifier of the constituent. For organizations only.
View JSON Schema on GitHub

JSON Schema

blackbaud-constituent-read-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-constituent-read-schema.json",
  "title": "ConstituentRead",
  "description": "Constituents are the individuals and organizations who support your organization by contributing time, money, and resources. The constituent entity stores information about donors, prospects, volunteers, general supporters, and more.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blackbaud-constituent-api-openapi.yml#/components/schemas/ConstituentRead",
  "type": "object",
  "properties": {
    "id": {
      "description": "The immutable system record ID for the constituent. This is not the same as the user-definable constituent identifier, which is stored in the <code>lookup_id</code>.",
      "type": "string"
    },
    "address": {
      "$ref": "#/$defs/AddressRead",
      "description": "The constituent's preferred address."
    },
    "age": {
      "format": "int32",
      "description": "This computed field calculates the constituent's age based on the <code>birthdate</code> property. For individuals only.",
      "type": "integer"
    },
    "birthdate": {
      "$ref": "#/$defs/FuzzyDate",
      "description": "The constituent's birthdate. For individuals only."
    },
    "date_added": {
      "format": "date-time",
      "description": "The date when the constituent 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 constituent 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
    },
    "deceased": {
      "description": "Indicates whether the constituent is deceased. For individuals only.",
      "type": "boolean"
    },
    "deceased_date": {
      "$ref": "#/$defs/FuzzyDate",
      "description": "The date when the constituent died. For individuals only."
    },
    "email": {
      "$ref": "#/$defs/EmailAddressRead",
      "description": "The constituent's primary email address, or the constituent's first active email address if no active email address is marked as primary."
    },
    "first": {
      "description": "The constituent's first name. For individuals only.",
      "type": "string"
    },
    "former_name": {
      "description": "The constituent's former name. For individuals only.",
      "type": "string"
    },
    "fundraiser_status": {
      "description": "Indicates whether the constituent is a fundraiser. For individuals only.",
      "enum": [
        "Active",
        "Inactive",
        "None"
      ],
      "type": "string"
    },
    "gender": {
      "description": "The constituent's gender. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListGenders\"><b>Gender</b></a> table. This property defaults to <i>unknown</i> if no value is provided. For individuals only.",
      "type": "string"
    },
    "gives_anonymously": {
      "description": "Indicates whether the constituent gives anonymously.",
      "type": "boolean"
    },
    "inactive": {
      "description": "Indicates whether the constituent is inactive.",
      "type": "boolean"
    },
    "last": {
      "description": "The constituent's last name. For individuals only.",
      "type": "string"
    },
    "lookup_id": {
      "description": "The user-defined identifier for the constituent.",
      "type": "string"
    },
    "marital_status": {
      "description": "The constituent's marital status. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListMaritalStatuses\"><b>Marital Status</b></a> table.  For individuals only.",
      "type": "string"
    },
    "middle": {
      "description": "The constituent's middle name. For individuals only.",
      "type": "string"
    },
    "name": {
      "description": "If the constituent's <code>type</code> is <i>Individual</i>, this computed field indicates the full name of the constituent based on the target organization’s display name settings. If the <code>type</code> is <i>Organization</i>, this is the organization's name.",
      "type": "string"
    },
    "online_presence": {
      "$ref": "#/$defs/OnlinePresenceRead",
      "description": "The constituent's primary online presence, or the constituent's first active online presence if no active online presence is marked as primary."
    },
    "phone": {
      "$ref": "#/$defs/PhoneRead",
      "description": "The constituent's primary phone, or the constituent's first active phone if no active phone is marked as primary."
    },
    "preferred_name": {
      "description": "The constituent's preferred name. For individuals only.",
      "type": "string"
    },
    "spouse": {
      "$ref": "#/$defs/SpouseRead",
      "description": "This computed field retrieves information about the constituent's spouse using the constituent's <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListConstituentRelationshipsSingleConstituent\">relationships</a>.  For individuals only."
    },
    "suffix": {
      "description": "The constituent's primary suffix. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListSuffixes\"><b>Suffixes</b></a> table. For individuals only.",
      "type": "string"
    },
    "suffix_2": {
      "description": "The constituent's secondary suffix. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListSuffixes\"><b>Suffixes</b></a> table. For individuals only.",
      "type": "string"
    },
    "title": {
      "description": "The constituent's primary title. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListTitles\"><b>Titles</b></a> table. For individuals only.",
      "type": "string"
    },
    "title_2": {
      "description": "The constituent's secondary title. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListTitles\"><b>Titles</b></a> table. For individuals only.",
      "type": "string"
    },
    "type": {
      "description": "The type of constituent. Available values are <i>Individual</i> and <i>Organization</i>.",
      "enum": [
        "Individual",
        "Organization"
      ],
      "type": "string"
    },
    "birthplace": {
      "description": "The birthplace of the constituent. For individuals only.",
      "type": "string"
    },
    "ethnicity": {
      "description": "The ethnicity of the constituent. For individuals only.",
      "type": "string"
    },
    "income": {
      "description": "The income for the constituent. For individuals only.",
      "type": "string"
    },
    "religion": {
      "description": "The religion of the constituent. For individuals only.",
      "type": "string"
    },
    "industry": {
      "description": "The industry of the constituent. For organizations only.",
      "type": "string"
    },
    "matches_gifts": {
      "description": "Indicates if the constituent matches gifts. For organizations only.",
      "type": "boolean"
    },
    "matching_gift_per_gift_min": {
      "$ref": "#/$defs/Currency",
      "description": "The minimum matching gift per gift for the constituent. For organizations only."
    },
    "matching_gift_per_gift_max": {
      "$ref": "#/$defs/Currency",
      "description": "The maximum matching gift per gift for the constituent. For organizations only."
    },
    "matching_gift_total_min": {
      "$ref": "#/$defs/Currency",
      "description": "The minimum matching gift total for the constituent. For organizations only."
    },
    "matching_gift_total_max": {
      "$ref": "#/$defs/Currency",
      "description": "The maximum matching gift total for the constituent. For organizations only."
    },
    "matching_gift_factor": {
      "format": "double",
      "description": "The matching gift factor for the constituent. For organizations only.",
      "type": "number"
    },
    "matching_gift_notes": {
      "description": "The matching gift notes for the constituent. For organizations only.",
      "type": "string"
    },
    "num_employees": {
      "format": "int32",
      "description": "The number of employees for the constituent. For organizations only.",
      "type": "integer"
    },
    "is_memorial": {
      "description": "Indicates whether the constituent is for honor/memorial.",
      "type": "boolean"
    },
    "is_solicitor": {
      "description": "Indicates whether the constituent is a solicitor.",
      "type": "boolean"
    },
    "no_valid_address": {
      "description": "Indicates whether the constituent does not have a valid address.",
      "type": "boolean"
    },
    "receipt_type": {
      "description": "The receipt type of the constituent.",
      "enum": [
        "One receipt per gift",
        "Consolidated receipts"
      ],
      "type": "string"
    },
    "target": {
      "description": "The target of the constituent.",
      "type": "string"
    },
    "requests_no_email": {
      "description": "Indicates whether the constituent requests no email.",
      "type": "boolean"
    },
    "import_id": {
      "description": "The import id for the constituent.",
      "type": "string"
    },
    "is_constituent": {
      "description": "Flag indicating whether or not this individual or organization is a constituent",
      "type": "boolean"
    },
    "num_subsidiaries": {
      "format": "int32",
      "description": "The number of subsidiaries for the constituent. For organizations only.",
      "type": "integer"
    },
    "parent_corporation_name": {
      "description": "The parent corporation name of the constituent. For organizations only.",
      "type": "string"
    },
    "parent_corporation_id": {
      "format": "int32",
      "description": "The parent corporation identifier of the constituent. For organizations only.",
      "type": "integer"
    }
  },
  "x-display-name": "Constituent",
  "x-display-id": "Constituent_01",
  "$defs": {
    "AddressRead": {
      "description": "Addresses store information about constituent residences and other addresses along with information about where or whether to send mail.",
      "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"
        }
      },
      "x-display-name": "Address",
      "x-display-id": "Address",
      "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>"
    },
    "Currency": {
      "description": "For consistency, currency is configured at the organization level. This ensures that all monetary amounts are consistent, regardless of where they are entered or viewed.",
      "type": "object",
      "properties": {
        "value": {
          "format": "double",
          "description": "The monetary value.",
          "type": "number"
        }
      }
    },
    "EmailAddressRead": {
      "description": "Email addresses store information about constituent email accounts and where to send email correspondences for individuals and organizations.",
      "type": "object",
      "properties": {
        "id": {
          "description": "The immutable system record ID of the email address.",
          "type": "string"
        },
        "address": {
          "description": "The email address.",
          "type": "string"
        },
        "constituent_id": {
          "description": "The immutable system record ID of the constituent associated with the email address.",
          "type": "string"
        },
        "date_added": {
          "format": "date-time",
          "description": "The date when the email 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 email 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_email": {
          "description": "Indicates whether the constituent requests not to be contacted at this email address.",
          "type": "boolean"
        },
        "inactive": {
          "description": "Indicates whether the email address is inactive.",
          "type": "boolean"
        },
        "primary": {
          "description": "Indicates whether this is the constituent's primary email address.",
          "type": "boolean"
        },
        "type": {
          "description": "The type of email address. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListEmailAddressTypes\"><b>Phone Types</b></a> table.",
          "type": "string"
        }
      },
      "x-display-name": "Email address",
      "x-display-id": "EmailAddress"
    },
    "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"
    },
    "OnlinePresenceRead": {
      "description": "Online presence entities store a constituent’s social media accounts, websites, and other means of reaching out or gaining more information about the constituent.",
      "type": "object",
      "properties": {
        "id": {
          "description": "The immutable system record ID of the online presence.",
          "type": "string"
        },
        "address": {
          "description": "The web address for the online presence.",
          "type": "string"
        },
        "constituent_id": {
          "description": "The immutable system record ID of the constituent associated with the online presence.",
          "type": "string"
        },
        "date_added": {
          "format": "date-time",
          "description": "The date when the online presence 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 online presence 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
        },
        "inactive": {
          "description": "Indicates whether the online presence is inactive.",
          "type": "boolean"
        },
        "primary": {
          "description": "Indicates whether this is the constituent's primary online presence.",
          "type": "boolean"
        },
        "type": {
          "description": "The online presence type. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListOnlinePresenceTypes\"><b>Phone Types</b></a> table.",
          "type": "string"
        }
      },
      "x-display-name": "Online presence",
      "x-display-id": "OnlinePresence"
    },
    "PhoneRead": {
      "description": "Phones store information about constituent phone numbers and where to call individuals and organizations.",
      "type": "object",
      "properties": {
        "id": {
          "description": "The immutable system record ID of the phone.",
          "type": "string"
        },
        "constituent_id": {
          "description": "The immutable system record ID of the constituent associated with the phone.",
          "type": "string"
        },
        "date_added": {
          "format": "date-time",
          "description": "The date when the phone 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 phone 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_call": {
          "description": "Indicates whether the constituent requests not to be contacted at this number.",
          "type": "boolean"
        },
        "inactive": {
          "description": "Indicates whether the phone is inactive.",
          "type": "boolean"
        },
        "number": {
          "description": "The phone number.",
          "type": "string"
        },
        "primary": {
          "description": "Indicates whether this is the constituent's primary phone.",
          "type": "boolean"
        },
        "type": {
          "description": "The phone type. Available values are the entries in the <a href=\"https://developer.sky.blackbaud.com/docs/services/56b76470069a0509c8f1c5b3/operations/ListPhoneTypes\"><b>Phone Types</b></a> table.",
          "type": "string"
        }
      },
      "x-display-name": "Phone",
      "x-display-id": "Phone"
    },
    "SpouseRead": {
      "description": "The spouse entity describes spouses for individual constituents.",
      "type": "object",
      "properties": {
        "id": {
          "description": "The immutable system record ID of the spouse.",
          "type": "string"
        },
        "first": {
          "description": "The spouse's first name.",
          "type": "string"
        },
        "last": {
          "description": "The spouse's last name.",
          "type": "string"
        },
        "is_head_of_household": {
          "description": "Indicates whether the spouse is the head household. Only applies to constituent spouses.",
          "type": "boolean"
        }
      },
      "x-display-name": "Spouse",
      "x-display-id": "Spouse"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/blackbaud-constituent-read"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.