{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-edit-stewardship-plan-steps-schema.json",
  "title": "EditStewardshipPlanSteps",
  "description": "EditStewardshipPlanSteps",
  "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/EditStewardshipPlanSteps",
  "type": "object",
  "properties": {
    "step_owner_id": {
      "type": "string",
      "description": "The step owner ID. Read-only in the SOAP API."
    },
    "step_owner_name": {
      "maxLength": 154,
      "minLength": 0,
      "type": "string",
      "description": "The constituent name. Read-only in the SOAP API."
    },
    "step_owner_is_individual": {
      "type": "boolean",
      "description": "Indicates whether step owner is an individual."
    },
    "steward_ship_plan_id": {
      "type": "string",
      "description": "The plan ID."
    },
    "category": {
      "type": "string",
      "description": "The category. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/stewardshipstepcategorycode/entries"
    },
    "objective": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The objective."
    },
    "target_date": {
      "type": "string",
      "description": "The target date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "date_locked": {
      "type": "boolean",
      "description": "Indicates whether locked."
    },
    "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"
    },
    "start_date": {
      "type": "string",
      "description": "The start date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "end_date": {
      "type": "string",
      "description": "The end date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "contact_method": {
      "type": "string",
      "description": "The contact method. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/interactiontypecode/entries"
    },
    "constituent_id": {
      "type": "string",
      "description": "The assigned to."
    },
    "associated_plans": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/EditStewardshipPlanStepsAssociatedPlans"
      },
      "description": "Associated plans."
    },
    "template": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "description": "The template."
    },
    "recurs": {
      "type": "string",
      "description": "The frequency. Available values are <i>single occurrence</i>, <i>annually</i>, <i>semi-annually</i>, <i>quarterly</i>, <i>bi-monthly</i>, <i>monthly</i>, <i>semi-monthly</i>, <i>bi-weekly</i>, <i>weekly</i>"
    },
    "status": {
      "type": "string",
      "description": "The status. Available values are <i>pending</i>, <i>completed</i>, <i>canceled</i>, <i>declined</i>"
    },
    "next_target_date": {
      "type": "string",
      "description": "The next target date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "link_type": {
      "type": "string",
      "description": "The link type. Available values are <i>benefit</i>, <i>event</i>, <i>mailing</i>"
    },
    "event_id": {
      "type": "string",
      "description": "The event."
    },
    "mailing_id": {
      "type": "string",
      "description": "The mailing."
    },
    "benefit_id": {
      "type": "string",
      "description": "The benefit."
    },
    "target_start_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "target_end_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "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."
    },
    "all_day_event": {
      "type": "boolean",
      "description": "Indicates whether is all day event."
    },
    "actual_start_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "actual_end_time": {
      "$ref": "#/$defs/HourMinute"
    },
    "step_participants": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/EditStewardshipPlanStepsStepParticipants"
      },
      "description": "Step participants."
    }
  },
  "additionalProperties": false,
  "x-display-name": "Stewardship Plan Step Edit Form",
  "x-display-id": "Stewardship Plan Step Edit Form",
  "$defs": {
    "EditStewardshipPlanStepsAssociatedPlans": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "id"
        },
        "prospect_plan_id": {
          "type": "string",
          "description": "prospect plan id"
        },
        "plan_name": {
          "type": "string",
          "description": "plan name"
        },
        "has_site_security": {
          "type": "boolean",
          "description": "user has site security"
        }
      },
      "description": "EditStewardshipPlanStepsAssociatedPlans",
      "x-display-name": "associated_plans",
      "x-display-id": "associated_plans"
    },
    "EditStewardshipPlanStepsStepParticipants": {
      "required": [
        "constituent_id"
      ],
      "type": "object",
      "properties": {
        "constituent_id": {
          "type": "string",
          "description": "plan participant"
        }
      },
      "description": "EditStewardshipPlanStepsStepParticipants",
      "x-display-name": "step_participants",
      "x-display-id": "step_participants"
    },
    "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"
    }
  }
}