{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/narmi/main/json-schema/narmi-scheduled-transfer-request-schema.json",
  "title": "ScheduledTransferRequest",
  "description": "Represents:\nindigo.models.recurring_transfer.AchTransfer,\nindigo.models.recurring_transfer.IntraInstitutionTransfer",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/narmi-scheduled-transfers-api-openapi.yml#/components/schemas/ScheduledTransferRequest",
  "type": "object",
  "properties": {
    "amount": {
      "maximum": 1000000000000000,
      "minimum": -1000000000000000,
      "description": "A field that returns the original value in the currency's smallest unit (e.g. cents).",
      "type": "integer"
    },
    "from_account_id": {
      "type": "string",
      "format": "uuid",
      "description": "UUID identifying the source account in the Narmi database."
    },
    "to_account_id": {
      "type": "string",
      "format": "uuid",
      "description": "UUID identifying the destination account in the Narmi database."
    },
    "agreement": {
      "type": "boolean",
      "writeOnly": true,
      "description": "Whether or not the terms of the transfer were agreed to."
    },
    "device_id": {
      "type": "string",
      "writeOnly": true,
      "minLength": 1,
      "description": "Device 'fingerprint' from alloy/iovation."
    },
    "recurring_rule": {
      "type": "string",
      "minLength": 1,
      "description": "Cadence of recurring event, as per the RFC-5545 specification."
    },
    "memo": {
      "type": "string",
      "minLength": 1,
      "default": "",
      "description": "Free-form description of transfer."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "default": "",
      "description": "Free-form description of transfer."
    },
    "ach_transfer": {
      "type": "string",
      "format": "uuid",
      "writeOnly": true,
      "description": "Associated ACH Transfer used to evaluate transfer limits, and if they've been exceeded."
    }
  },
  "required": [
    "agreement",
    "amount",
    "from_account_id",
    "recurring_rule",
    "to_account_id"
  ],
  "x-stoplight": {
    "id": "xtzufkz4xtogz"
  }
}