{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-new-prospect-steps-schema.json",
  "title": "NewProspectSteps",
  "description": "CreateProspectSteps",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blackbaud-altru-prospect-api-openapi.yml#/components/schemas/NewProspectSteps",
  "required": [
    "prospect_plan_id",
    "objective",
    "status",
    "expected_date",
    "prospect_plan_status"
  ],
  "type": "object",
  "properties": {
    "prospect_plan_id": {
      "type": "string",
      "description": "The prospect plan ID."
    },
    "interaction_type": {
      "type": "string",
      "description": "The contact method. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/interactiontypecode/entries"
    },
    "objective": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The objective."
    },
    "owner_id": {
      "type": "string",
      "description": "The owner."
    },
    "status": {
      "type": "string",
      "description": "The status. Available values are <i>planned</i>, <i>pending</i>, <i>completed</i>, <i>cancelled</i>, <i>declined</i>"
    },
    "expected_date": {
      "type": "string",
      "description": "The expected date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "actual_date": {
      "type": "string",
      "description": "The actual date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "prospect_plan_status": {
      "type": "string",
      "description": "The stage. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/prospectplanstatuscode/entries"
    },
    "comment": {
      "type": "string",
      "description": "The comment."
    },
    "prospect_name": {
      "maxLength": 154,
      "minLength": 0,
      "type": "string",
      "description": "The prospect name. Read-only in the SOAP API."
    },
    "additional_fundraisers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NewProspectStepsAdditionalFundraisers"
      },
      "description": "Additional fundraisers."
    },
    "participants": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NewProspectStepsParticipants"
      },
      "description": "Participants."
    },
    "interaction_category": {
      "type": "string",
      "description": "The category. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/cbba7545-b66f-44ac-aa24-d9c2f8cbc4ec."
    },
    "interaction_subcategory": {
      "type": "string",
      "description": "The subcategory. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/0eacc39b-07d1-4641-8774-e319559535a7?parameters=interactioncategoryid,{interactioncategoryid}."
    },
    "expected_start_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "expected_end_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "is_all_day_event": {
      "type": "boolean",
      "description": "Indicates whether is all day event."
    },
    "time_zone_entry": {
      "type": "string",
      "description": "The time zone. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/7fba76fa-b1ea-4c01-b841-edb18f03fe8c."
    },
    "actual_start_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "actual_end_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "prospect_id": {
      "type": "string",
      "description": "The prospect ID. Read-only in the SOAP API."
    },
    "location": {
      "type": "string",
      "description": "The location. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/b0cb4058-4355-431a-abdb-3e9f2be8c918?parameters=constituent_id,{prospect_id}."
    },
    "other_location": {
      "maxLength": 300,
      "minLength": 0,
      "type": "string",
      "description": "The other location."
    }
  },
  "additionalProperties": false,
  "x-display-name": "Step Add Form 2",
  "x-display-id": "Step Add Form 2",
  "$defs": {
    "HourMinute": {
      "type": "object",
      "properties": {
        "hour": {
          "type": "integer",
          "description": "The hour.",
          "format": "int32"
        },
        "minute": {
          "type": "integer",
          "description": "The minute.",
          "format": "int32"
        }
      },
      "description": "HourMinute",
      "x-display-name": "Hour Minute",
      "x-display-id": "Hour Minute"
    },
    "NewProspectStepsAdditionalFundraisers": {
      "required": [
        "fundraiser_id"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "id"
        },
        "fundraiser_id": {
          "type": "string",
          "description": "solicitor"
        }
      },
      "description": "NewProspectStepsAdditionalFundraisers",
      "x-display-name": "additional_fundraisers",
      "x-display-id": "additional_fundraisers"
    },
    "NewProspectStepsParticipants": {
      "required": [
        "constituent_id"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "id"
        },
        "constituent_id": {
          "type": "string",
          "description": "participant"
        }
      },
      "description": "NewProspectStepsParticipants",
      "x-display-name": "participants",
      "x-display-id": "participants"
    }
  }
}