{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-new-individual-schema.json",
  "title": "NewIndividual",
  "description": "CreateIndividual",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blackbaud-altru-constituent-api-openapi.yml#/components/schemas/NewIndividual",
  "required": [
    "last_name",
    "gender"
  ],
  "type": "object",
  "properties": {
    "last_name": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's last name. character limit: 100.."
    },
    "first_name": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's first name. character limit: 50.."
    },
    "middle_name": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's middle name. character limit: 50.."
    },
    "title": {
      "type": "string",
      "description": "The the constituent's primary title. for individuals only.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/titlecode/entries"
    },
    "suffix": {
      "type": "string",
      "description": "The the constituent's suffix.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/suffixcode/entries"
    },
    "nickname": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's nickname. character limit: 50.."
    },
    "maiden_name": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's maiden name. character limit: 100.."
    },
    "birth_date": {
      "$ref": "#/$defs/FuzzyDate"
    },
    "gender": {
      "type": "string",
      "description": "The the constituent's gender.. Available values are <i>unknown</i>, <i>male</i>, <i>female</i>, <i>other</i>"
    },
    "marital_status": {
      "type": "string",
      "description": "The the constituent's marital status.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/maritalstatuscode/entries"
    },
    "address_type": {
      "type": "string",
      "description": "The the address type of the constituent's address.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/addresstypecode/entries"
    },
    "address_country": {
      "type": "string",
      "description": "The the country of the constituent's address.. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/c9649672-353d-42e8-8c25-4d34bbabfbba."
    },
    "address_block": {
      "maxLength": 150,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's address. character limit: 150.."
    },
    "address_city": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the city of the constituent's address. character limit: 50.."
    },
    "address_state": {
      "type": "string",
      "description": "The the state of the constituent's address.. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/7fa91401-596c-4f7c-936d-6e41683121d7?parameters=country_id,{address_countryid}."
    },
    "address_post_code": {
      "maxLength": 12,
      "minLength": 0,
      "type": "string",
      "description": "The the postal code of the constituent's address. character limit: 12.."
    },
    "address_do_not_mail": {
      "type": "boolean",
      "description": "Indicates whether indicates whether the constituent should not be contacted at this address.."
    },
    "address_do_not_mail_reason": {
      "type": "string",
      "description": "The indicates the reason the constituent should not be contacted at this address.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/donotmailreasoncode/entries"
    },
    "phone_type": {
      "type": "string",
      "description": "The the phone type of the constituent's phone.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/phonetypecode/entries"
    },
    "phone_number": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's phone number.."
    },
    "email_address_type": {
      "type": "string",
      "description": "The the email address type of the constituent's email.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/emailaddresstypecode/entries"
    },
    "email_address": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's email address.."
    },
    "skip_adding_security_groups": {
      "type": "boolean",
      "description": "Indicates whether skip adding security groups."
    },
    "existing_spouse": {
      "type": "boolean",
      "description": "Indicates whether search existing individuals."
    },
    "spouse_id": {
      "type": "string",
      "description": "The an individual related to the constituent. this individual will be added to the same household as the constituent.."
    },
    "spouse_last_name": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the related individual's last name. character limit: 100.."
    },
    "spouse_first_name": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the related individual's first name. character limit: 50.."
    },
    "spouse_middle_name": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the related individual's middle name. character limit: 50.."
    },
    "spouse_title": {
      "type": "string",
      "description": "The the related individual's title. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/titlecode/entries"
    },
    "spouse_suffix": {
      "type": "string",
      "description": "The the related individual's suffix. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/suffixcode/entries"
    },
    "spouse_nick_name": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the related individual's nickname. character limit: 50.."
    },
    "spouse_maiden_name": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the related individual's maiden name. character limit: 100.."
    },
    "spouse_birth_date": {
      "$ref": "#/$defs/FuzzyDate"
    },
    "spouse_gender": {
      "type": "string",
      "description": "The the related individual's gender.. Available values are <i>unknown</i>, <i>male</i>, <i>female</i>, <i>other</i>"
    },
    "spouse_relationship_type_code": {
      "type": "string",
      "description": "The the type of relationship between the constituent and related individual. can be expressed as, \"the individual is the constituent's _______\".. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/4e869c5a-9b9d-4e84-b6e0-1fc66bafbafc?parameters=gender,{gendercode}&parameters=appliestoconstituenttype,{constituent_type}."
    },
    "spouse_reciprocal_type_code": {
      "type": "string",
      "description": "The the type of relationship between the related individual and the constituent. can be expressed as, \"the constituent is the individual's _______\".. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/c3018803-2ea5-4f62-91cf-412e88d15f9b?parameters=appliestoconstituenttype,{constituent_type}&parameters=constituentid,{spouse_id}&parameters=appliestorelationshiptypeid,{spouse_relationshiptypecodeid}&parameters=gender,{spouse_gendercode}&parameters=relatestoconstituenttype,{0}."
    },
    "spouse_start_date": {
      "type": "string",
      "description": "The the start date of the relationship.. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "copy_primary_information": {
      "type": "boolean",
      "description": "Indicates whether indicates whether to copy the constituent's primary information to the related constituent's record.."
    },
    "primary_soft_credit_relationship_exists": {
      "type": "boolean",
      "description": "Indicates whether soft credit individual for constituent's payments."
    },
    "primary_soft_credit_match_factor": {
      "type": "number",
      "description": "The recognition match percent.",
      "format": "double"
    },
    "reciprocal_soft_credit_relationship_exists": {
      "type": "boolean",
      "description": "Indicates whether soft credit constituent for individual's payments."
    },
    "reciprocal_soft_credit_match_factor": {
      "type": "number",
      "description": "The recognition match percent.",
      "format": "double"
    },
    "existing_organization": {
      "type": "boolean",
      "description": "Indicates whether search existing organizations."
    },
    "organization_id": {
      "type": "string",
      "description": "The the related organization's id.."
    },
    "organization_name": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the related organization's name. character limit: 100.."
    },
    "organization_address_type": {
      "type": "string",
      "description": "The the address type of the related organization's address.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/addresstypecode/entries"
    },
    "organization_country": {
      "type": "string",
      "description": "The the country of the related organization's address.. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/c9649672-353d-42e8-8c25-4d34bbabfbba."
    },
    "organization_address_block": {
      "maxLength": 150,
      "minLength": 0,
      "type": "string",
      "description": "The the related organization's address. character limit: 150.."
    },
    "organization_city": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The the city of the related organization's address. character limit: 50.."
    },
    "organization_state": {
      "type": "string",
      "description": "The the state of the related organization's address.. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/7fa91401-596c-4f7c-936d-6e41683121d7?parameters=country_id,{organization_countryid}."
    },
    "organization_post_code": {
      "maxLength": 12,
      "minLength": 0,
      "type": "string",
      "description": "The the postal code of the related organization's address. character limit: 50.."
    },
    "organization_do_not_mail": {
      "type": "boolean",
      "description": "Indicates whether indicates whether the organization should not be contacted at this address.."
    },
    "organization_do_not_mail_reason": {
      "type": "string",
      "description": "The indicates the reason the organization should not be contacted at this address.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/donotmailreasoncode/entries"
    },
    "organization_phone_type": {
      "type": "string",
      "description": "The the phone type of the related organization's phone.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/phonetypecode/entries"
    },
    "organization_number": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the related organization's phone number. character limit: 100.."
    },
    "organization_relationship_type_code": {
      "type": "string",
      "description": "The the type of relationship between the constituent and related organization. can be expressed as, \"the organization is the constituent's _______\".. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/4e869c5a-9b9d-4e84-b6e0-1fc66bafbafc?parameters=gender,{gendercode}&parameters=appliestoconstituenttype,{constituent_type}."
    },
    "organization_reciprocal_type_code": {
      "type": "string",
      "description": "The the type of relationship between the related organization and the constituent. can be expressed as, \"the constituent is the organization's _______\".. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/c3018803-2ea5-4f62-91cf-412e88d15f9b?parameters=appliestoconstituenttype,{constituent_type}&parameters=constituentid,{organization_id}&parameters=appliestorelationshiptypeid,{organization_relationshiptypecodeid}&parameters=relatestoconstituenttype,{1}."
    },
    "organization_start_date": {
      "type": "string",
      "description": "The the related organization's start date.. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "organization_end_date": {
      "type": "string",
      "description": "The the related organization's end date.. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "contact": {
      "type": "boolean",
      "description": "Indicates whether contact."
    },
    "contact_type": {
      "type": "string",
      "description": "The the related organization's contact type.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/contacttypecode/entries"
    },
    "primary_contact": {
      "type": "boolean",
      "description": "Indicates whether indicates whether this is the constituent's primary contact.."
    },
    "position": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The the constituent's job title. character limit: 100.."
    },
    "matching_gift_relationship": {
      "type": "boolean",
      "description": "Indicates whether indicates whether this organization will match an individual's contributions.."
    },
    "reciprocal_recognition_type": {
      "type": "string",
      "description": "The recognition credit type. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/revenuerecognitiontypecode/entries"
    },
    "primary_recognition_type": {
      "type": "string",
      "description": "The recognition credit type. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/revenuerecognitiontypecode/entries"
    },
    "address_omit_from_validation": {
      "type": "boolean",
      "description": "Indicates whether indicates the constituent's address is omitted from validation.."
    },
    "address_dpc": {
      "maxLength": 8,
      "minLength": 0,
      "type": "string",
      "description": "The address dpc."
    },
    "address_cart": {
      "maxLength": 10,
      "minLength": 0,
      "type": "string",
      "description": "The address cart."
    },
    "address_lot": {
      "maxLength": 5,
      "minLength": 0,
      "type": "string",
      "description": "The address lot."
    },
    "address_county": {
      "type": "string",
      "description": "The address county. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/countycode/entries"
    },
    "address_congressional_district": {
      "type": "string",
      "description": "The address congressional district. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/congressionaldistrictcode/entries"
    },
    "address_last_validation_attempt_date": {
      "type": "string",
      "description": "The address last validation attempt date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "address_validation_message": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The address validation message."
    },
    "address_certification_data": {
      "type": "integer",
      "description": "The address certification data.",
      "format": "int32"
    },
    "organization_omit_from_validation": {
      "type": "boolean",
      "description": "Indicates whether indicates the organization is omitted from validation.."
    },
    "organization_dpc": {
      "maxLength": 8,
      "minLength": 0,
      "type": "string",
      "description": "The organization dpc."
    },
    "organization_cart": {
      "maxLength": 10,
      "minLength": 0,
      "type": "string",
      "description": "The organization cart."
    },
    "organization_lot": {
      "maxLength": 5,
      "minLength": 0,
      "type": "string",
      "description": "The organization lot."
    },
    "organization_county": {
      "type": "string",
      "description": "The organization county. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/countycode/entries"
    },
    "organization_congressional_district": {
      "type": "string",
      "description": "The organization congressional district. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/congressionaldistrictcode/entries"
    },
    "organization_last_validation_attempt_date": {
      "type": "string",
      "description": "The organization last validation attempt date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "organization_validation_message": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The organization validation message."
    },
    "organization_certification_data": {
      "type": "integer",
      "description": "The organization certification data.",
      "format": "int32"
    },
    "validation_countries": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NewIndividualValidationCountries"
      },
      "description": "Validation countries."
    },
    "zip_lookup_countries": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NewIndividualZipLookupCountries"
      },
      "description": "Zip lookup countries."
    },
    "spouse_relationship": {
      "type": "boolean",
      "description": "Indicates whether indicates whether this is a spouse relationship with the constituent.."
    },
    "house_hold_copy_primary_contact_info": {
      "type": "boolean",
      "description": "Indicates whether indicates whether to copy the individual's primary contact information to the household.."
    },
    "job_category": {
      "type": "string",
      "description": "The the constituent's job category.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/jobcategorycode/entries"
    },
    "career_level": {
      "type": "string",
      "description": "The the constituent's career level.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/careerlevelcode/entries"
    },
    "address_info_source": {
      "type": "string",
      "description": "The the infomation source of the constituent's address .. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/infosourcecode/entries"
    },
    "organization_info_source": {
      "type": "string",
      "description": "The the infomation source of the related organization.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/infosourcecode/entries"
    },
    "title_2": {
      "type": "string",
      "description": "The the constituent's second title.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/titlecode/entries"
    },
    "suffix_2": {
      "type": "string",
      "description": "The the related individual's second suffix.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/suffixcode/entries"
    },
    "spouse_title_2": {
      "type": "string",
      "description": "The the related individual's second title.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/titlecode/entries"
    },
    "spouse_suffix_2": {
      "type": "string",
      "description": "The the constituent's second suffix.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/suffixcode/entries"
    },
    "skip_adding_sites": {
      "type": "boolean",
      "description": "Indicates whether skip adding sites."
    },
    "constituent_type": {
      "type": "integer",
      "description": "The the constituent's type.. Read-only in the SOAP API.",
      "format": "int32"
    },
    "organization_primary_soft_credit_relationship_exists": {
      "type": "boolean",
      "description": "Indicates whether indicates whether to apply recognition credits from gifts made by the organization to the individual.."
    },
    "organization_primary_soft_credit_match_factor": {
      "type": "number",
      "description": "The the match percentage for recognition credits applied to the individual from gifts made by the organization..",
      "format": "double"
    },
    "organization_reciprocal_soft_credit_relationship_exists": {
      "type": "boolean",
      "description": "Indicates whether apply recognition credits from gifts by the individual to the organization.."
    },
    "organization_reciprocal_soft_credit_match_factor": {
      "type": "number",
      "description": "The the match percentage for recognition credits applied to the organization from gifts made by the individual..",
      "format": "double"
    },
    "organization_primary_recognition_type": {
      "type": "string",
      "description": "The the recognition type of credits applied to the individual from the organization.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/revenuerecognitiontypecode/entries"
    },
    "organization_reciprocal_recognition_type": {
      "type": "string",
      "description": "The the recognition type of credits applied to the organization from the individual.. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/revenuerecognitiontypecode/entries"
    },
    "opt_out_ads": {
      "type": "boolean",
      "description": "Indicates whether individual opted out of targeted advertising.."
    },
    "opt_out_sale": {
      "type": "boolean",
      "description": "Indicates whether individual opted out of sale of personal data.."
    },
    "gpc": {
      "type": "boolean",
      "description": "Indicates whether gpc."
    }
  },
  "additionalProperties": false,
  "x-display-name": "Individual, Spouse, Business Add Form",
  "x-display-id": "Individual, Spouse, Business Add Form",
  "$defs": {
    "FuzzyDate": {
      "type": "object",
      "properties": {
        "year": {
          "type": "integer",
          "description": "The year.",
          "format": "int32"
        },
        "month": {
          "type": "integer",
          "description": "The month.",
          "format": "int32"
        },
        "day": {
          "type": "integer",
          "description": "The day.",
          "format": "int32"
        }
      },
      "description": "FuzzyDate",
      "x-display-name": "Month Day",
      "x-display-id": "Month Day"
    },
    "NewIndividualValidationCountries": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "string",
          "description": "countryid"
        },
        "browsable": {
          "type": "boolean",
          "description": "browsable"
        }
      },
      "description": "NewIndividualValidationCountries",
      "x-display-name": "validation_countries",
      "x-display-id": "validation_countries"
    },
    "NewIndividualZipLookupCountries": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "string",
          "description": "countryid"
        },
        "country_name": {
          "type": "string",
          "description": "name"
        }
      },
      "description": "NewIndividualZipLookupCountries",
      "x-display-name": "zip_lookup_countries",
      "x-display-id": "zip_lookup_countries"
    }
  }
}