{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-edit-recurring-gift-schema.json",
  "title": "EditRecurringGift",
  "description": "EditRecurringGift",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blackbaud-altru-revenue-api-openapi.yml#/components/schemas/EditRecurringGift",
  "type": "object",
  "properties": {
    "revenue_id": {
      "type": "string",
      "description": "The revenue ID. Read-only in the SOAP API."
    },
    "constituent_id": {
      "type": "string",
      "description": "The constituent. Read-only in the SOAP API."
    },
    "constituent_name": {
      "maxLength": 700,
      "minLength": 0,
      "type": "string",
      "description": "The constituent. Read-only in the SOAP API."
    },
    "date": {
      "type": "string",
      "description": "The date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "amount": {
      "type": "number",
      "description": "The amount.",
      "format": "double"
    },
    "frequency": {
      "type": "string",
      "description": "The installment frequency. Available values are <i>annually</i>, <i>semi-annually</i>, <i>quarterly</i>, <i>bimonthly</i>, <i>monthly</i>, <i>semi-monthly</i>, <i>biweekly</i>, <i>weekly</i>"
    },
    "start_date": {
      "type": "string",
      "description": "The installment schedule begins. 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 (optional). Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "splits": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/EditRecurringGiftSplits"
      },
      "description": "Splits."
    },
    "finder_number": {
      "type": "integer",
      "description": "The finder number.",
      "format": "int32"
    },
    "source_code": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string",
      "description": "The source code."
    },
    "appeal_id": {
      "type": "string",
      "description": "The appeal."
    },
    "given_anonymously": {
      "type": "boolean",
      "description": "Indicates whether make this recurring gift anonymous."
    },
    "mailing_id": {
      "type": "string",
      "description": "The effort."
    },
    "channel": {
      "type": "string",
      "description": "The inbound channel. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/channelcode/entries"
    },
    "do_not_acknowledge": {
      "type": "boolean",
      "description": "Indicates whether do not acknowledge."
    },
    "max_solicitor_amount": {
      "type": "number",
      "description": "The max solicitor amount. Read-only in the SOAP API.",
      "format": "double"
    },
    "single_designation_id": {
      "type": "string",
      "description": "The designation. Read-only in the SOAP API."
    },
    "finder_number_valid": {
      "type": "boolean",
      "description": "Indicates whether findernumbervalid. Read-only in the SOAP API."
    },
    "reference": {
      "maxLength": 255,
      "minLength": 0,
      "type": "string",
      "description": "The reference."
    },
    "category_code": {
      "type": "string",
      "description": "The revenue category. This simple list can be queried at https://api.sky.blackbaud.com/alt-adnmg/simplelists/d9dd46ce-6651-4fcc-b9fe-e59162662224."
    },
    "send_reminder": {
      "type": "boolean",
      "description": "Indicates whether send reminders."
    },
    "next_installment_id": {
      "type": "string",
      "description": "The next installment ID."
    },
    "last_activity_date": {
      "type": "string",
      "description": "The last activity date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "edit_start_date": {
      "type": "boolean",
      "description": "Indicates whether edit start date. Read-only in the SOAP API."
    },
    "sponsorship": {
      "type": "boolean",
      "description": "Indicates whether sponsorship. Read-only in the SOAP API."
    },
    "revenue_development_function": {
      "type": "string",
      "description": "The revenue function. This code table can be queried at https://api.sky.blackbaud.com/alt-adnmg/codetables/revenuedevelopmentfunctioncode/entries"
    },
    "base_currency_id": {
      "type": "string",
      "description": "The base currency. Read-only in the SOAP API."
    },
    "transaction_currency_id": {
      "type": "string",
      "description": "The transaction currency."
    },
    "base_exchange_rate_id": {
      "type": "string",
      "description": "The exchange rate ID."
    },
    "exchange_rate": {
      "type": "number",
      "description": "The exchange rate.",
      "format": "double"
    },
    "had_spot_rate": {
      "type": "boolean",
      "description": "Indicates whether had spot rate."
    },
    "rate_changed": {
      "type": "boolean",
      "description": "Indicates whether rate changed."
    },
    "base_decimal_digits": {
      "type": "integer",
      "description": "The decimal digits. Read-only in the SOAP API.",
      "format": "int32"
    },
    "base_rounding_type_code": {
      "type": "integer",
      "description": "The rounding type. Read-only in the SOAP API.",
      "format": "int32"
    },
    "transaction_currency_description": {
      "maxLength": 110,
      "minLength": 0,
      "type": "string",
      "description": "The tranaction currency description. Read-only in the SOAP API."
    },
    "sponsorship_opportunity_id": {
      "type": "string",
      "description": "The sponsorship opportunity ID. Read-only in the SOAP API."
    },
    "has_recognition_credit": {
      "type": "boolean",
      "description": "Indicates whether has recognition credit. Read-only in the SOAP API."
    },
    "update_recognition_option": {
      "type": "integer",
      "description": "The update recognition option.",
      "format": "int32"
    },
    "schedule_seed_date": {
      "type": "string",
      "description": "The next installment date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "membership_recurring": {
      "type": "boolean",
      "description": "Indicates whether is membership recurring gift."
    },
    "previous_schedule_seed_date": {
      "type": "string",
      "description": "The previous next installment date. Uses the format YYYY-MM-DDThh:mm:ss. An example date: <i>1955-11-05T22:04:00</i>.",
      "format": "date-time"
    },
    "status_code": {
      "type": "integer",
      "description": "The status code. Read-only in the SOAP API.",
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "x-display-name": "Recurring Gift Edit Form 2",
  "x-display-id": "Recurring Gift Edit Form 2",
  "$defs": {
    "EditRecurringGiftSplits": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "id"
        },
        "designation_id": {
          "type": "string",
          "description": "designations"
        },
        "amount": {
          "type": "number",
          "description": "amount"
        },
        "application_code": {
          "type": "integer",
          "description": "application"
        },
        "type_code": {
          "type": "integer",
          "description": "application"
        },
        "declines_gift_aid": {
          "type": "boolean",
          "description": "declines gift aid"
        },
        "transaction_currency_id": {
          "type": "string",
          "description": "transaction currency"
        }
      },
      "description": "EditRecurringGiftSplits",
      "x-display-name": "splits",
      "x-display-id": "splits"
    }
  }
}