SWIFT · Schema

Statement

Provides underlying details of transactions that have been included in the entry. Corporate can receive information from their bank(s) about the activity happening on a given account for cash management balance reporting. This will include all entries booked to the account for the specified period.

BankingCross-Border PaymentsFinancial MessagingFinancial ServicesGPIISO 20022PaymentsSWIFT

Properties

Name Type Description
identification string Unique identification, as assigned by the account servicer, to unambiguously identify the account statement.
creation_date_time object
from_date_time object
to_date_time object
statement_period string Specify various end of cycle statement reporting (statement periods) Usage - This may be used to indicate cycle type. Where this is used, all transactions must be related to that cycle. EODY - for End
account object
related_account object
interest array Provides general interest information that applies to the account at a particular moment in time.
balance array Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account at a specific point in time. Usage - Required balance types - OPBD = OpeningBo
statement_entry array Specifies an entry in the Statement. For reporting single transaction or batch. Usage - At least one reference must be provided to identify the entry and its underlying transaction(s).
links object
View JSON Schema on GitHub

JSON Schema

swift-statement-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/swift/json-schema/swift-statement-schema.json",
  "title": "Statement",
  "description": "Provides underlying details of transactions that have been included in the entry. Corporate can receive information from their bank(s) about the activity happening on a given account for cash management balance reporting. This will include all entries booked to the account for the specified period.\n",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/swift-cash-management-api-openapi.yml#/components/schemas/Statement",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "identification": {
      "description": "Unique identification, as assigned by the account servicer, to unambiguously identify the account statement.\n",
      "type": "string",
      "minLength": 1,
      "maxLength": 36,
      "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]+$"
    },
    "creation_date_time": {
      "$ref": "#/$defs/ISODateTime"
    },
    "from_date_time": {
      "$ref": "#/$defs/ISODateTime"
    },
    "to_date_time": {
      "$ref": "#/$defs/ISODateTime"
    },
    "statement_period": {
      "description": "Specify various end of cycle statement reporting (statement periods)\n\nUsage - This may be used to indicate cycle type. Where this is used, all transactions must be related to that cycle. \nEODY - for End of Day - Daily Statement\nEOWK - for End of Week - Weekly Statement\nEOMH - for End of Month - Monthly Statement\nEOYR - for End of Year - Yearly Statement\n",
      "type": "string",
      "enum": [
        "EODY",
        "EOWK",
        "EOMH",
        "EOYR"
      ],
      "default": "EODY"
    },
    "account": {
      "$ref": "#/$defs/CashAccount"
    },
    "related_account": {
      "$ref": "#/$defs/Account"
    },
    "interest": {
      "type": "array",
      "description": "Provides general interest information that applies to the account at a particular moment in time.",
      "items": {
        "$ref": "#/$defs/AccountInterest"
      }
    },
    "balance": {
      "type": "array",
      "minItems": 2,
      "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account at a specific point in time.  \nUsage - Required balance types - OPBD = OpeningBooked with date on which the opening balance was determined CLBD = ClosingBooked. Rest of the balance types must be bilaterally determined.\n",
      "items": {
        "$ref": "#/$defs/Balance"
      }
    },
    "statement_entry": {
      "type": "array",
      "description": "Specifies an entry in the Statement. For reporting single transaction or batch.\n\nUsage - At least one reference must be provided to identify the entry and its underlying transaction(s). \n",
      "items": {
        "$ref": "#/$defs/StatementEntry"
      }
    },
    "links": {
      "$ref": "#/$defs/Links"
    }
  },
  "required": [
    "identification",
    "statement_period",
    "account",
    "balance"
  ],
  "$defs": {
    "Account": {
      "type": "object",
      "description": "Provides the details to identify an account.",
      "additionalProperties": false,
      "properties": {
        "identification": {
          "$ref": "#/$defs/AccountIdentificationChoice"
        },
        "type": {
          "$ref": "#/$defs/CashAccountTypeChoice"
        },
        "currency": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyCode"
        },
        "name": {
          "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.  \n\nUsage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owners identity and the account number.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 70,
          "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]+$"
        },
        "alternate_identification": {
          "$ref": "#/$defs/GenericIdentification"
        }
      },
      "required": [
        "identification"
      ]
    },
    "AccountIdentificationChoice": {
      "type": "object",
      "description": "Specifies the unique identification of an account as assigned by the account servicer.",
      "additionalProperties": true,
      "oneOf": [
        {
          "type": "object",
          "required": [
            "iban"
          ],
          "properties": {
            "iban": {
              "$ref": "#/$defs/IBAN2007Identifier"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "other"
          ],
          "properties": {
            "other": {
              "$ref": "#/$defs/GenericIdentification"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "AccountInterest": {
      "type": "object",
      "description": "Provides general interest information that applies to the account at a particular moment in time.",
      "additionalProperties": false,
      "properties": {
        "type": {
          "$ref": "#/$defs/InterestTypeChoice"
        },
        "rate": {
          "type": "array",
          "description": "Set of elements used to qualify the interest rate.",
          "items": {
            "$ref": "#/$defs/Rate"
          }
        },
        "from_to_date": {
          "$ref": "#/$defs/DateTimePeriod"
        },
        "reason": {
          "description": "Specifies the reason for the interest.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "tax": {
          "$ref": "#/$defs/TaxCharges"
        }
      }
    },
    "ActiveOrHistoricCurrencyAndAmount": {
      "type": "object",
      "description": "A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.",
      "properties": {
        "currency": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyCode"
        },
        "amount": {
          "type": "string",
          "maxLength": 18,
          "pattern": "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|0*|([0-9]{0,18}))$"
        }
      }
    },
    "ActiveOrHistoricCurrencyAndAmountRange": {
      "type": "object",
      "description": "Range of amount values.",
      "additionalProperties": false,
      "properties": {
        "amount": {
          "$ref": "#/$defs/ImpliedCurrencyAmountRangeChoice"
        },
        "credit_debit_indicator": {
          "$ref": "#/$defs/CreditDebitCode"
        },
        "currency": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyCode"
        }
      },
      "required": [
        "amount",
        "currency"
      ]
    },
    "ActiveOrHistoricCurrencyCode": {
      "type": "string",
      "pattern": "^[A-Z]{3,3}$",
      "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n"
    },
    "AmountAndCurrencyExchange": {
      "type": "object",
      "description": "Set of elements used to provide information on the original amount.",
      "additionalProperties": false,
      "properties": {
        "instructed_amount": {
          "$ref": "#/$defs/AmountAndCurrencyExchangeDetails"
        },
        "transaction_amount": {
          "$ref": "#/$defs/AmountAndCurrencyExchangeDetails"
        },
        "counter_value_amount": {
          "$ref": "#/$defs/AmountAndCurrencyExchangeDetails"
        },
        "announced_posting_amount": {
          "$ref": "#/$defs/AmountAndCurrencyExchangeDetails"
        },
        "proprietary_amount": {
          "type": "array",
          "description": "Set of elements used to provide information on the original amount and currency exchange.",
          "items": {
            "$ref": "#/$defs/AmountAndCurrencyExchangeDetails"
          }
        }
      }
    },
    "AmountAndCurrencyExchangeDetails": {
      "type": "object",
      "description": "Set of elements used to provide information on the original amount and currency exchange.",
      "additionalProperties": false,
      "properties": {
        "amount": {
          "$ref": "#/$defs/CurrencyAmount"
        },
        "currency_exchange": {
          "$ref": "#/$defs/CurrencyExchange"
        }
      },
      "required": [
        "amount"
      ]
    },
    "AmountRangeBoundary": {
      "type": "object",
      "description": "Limit for an amount range.",
      "additionalProperties": false,
      "properties": {
        "boundary_amount": {
          "$ref": "#/$defs/ImpliedCurrencyAndAmount"
        },
        "included": {
          "description": "Indicates whether the boundary amount is included in the range of amount values.",
          "type": "boolean"
        }
      },
      "required": [
        "boundary_amount",
        "included"
      ]
    },
    "AnyBICDec2014Identifier": {
      "type": "string",
      "description": "Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".",
      "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
    },
    "BICFIDec2014Identifier": {
      "type": "string",
      "description": "Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 - 2014 - Banking - Banking telecommunication messages - Business identifier code (BIC)\n",
      "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
    },
    "Balance": {
      "type": "object",
      "description": "Numerical representation of the net increases and decreases in an account at a specific point in time.",
      "additionalProperties": false,
      "properties": {
        "type": {
          "$ref": "#/$defs/BalanceTypeCode"
        },
        "amount": {
          "$ref": "#/$defs/CurrencyAmount"
        },
        "credit_debit_indicator": {
          "$ref": "#/$defs/CreditDebitCode"
        },
        "date": {
          "description": "Indicates the date (and time) of the balance. Recommendation that this be expressed in local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm).\n",
          "oneOf": [
            {
              "$ref": "#/$defs/ISODateTime"
            },
            {
              "$ref": "#/$defs/ISODate"
            }
          ]
        },
        "credit_line": {
          "type": "array",
          "description": "Set of elements used to provide details on the credit line.",
          "items": {
            "$ref": "#/$defs/CreditLine"
          }
        },
        "availability": {
          "type": "array",
          "description": "Set of elements used to indicate when the booked amount of money will become available, that is can be accessed and starts generating interest.   \n\nUsage: This type of information is used in the US and is linked to particular instruments such as cheques. Example: When a cheque is deposited, it will be booked on the deposit day, but the amount of money will only be accessible as of the indicated availability day (according to national banking regulations).\n",
          "items": {
            "$ref": "#/$defs/BalanceAvailability"
          }
        }
      },
      "required": [
        "type",
        "amount",
        "credit_debit_indicator",
        "date"
      ]
    },
    "BalanceAvailability": {
      "type": "object",
      "description": "Indicates when the amount of money will become available, that is can be accessed and start generating interest.",
      "additionalProperties": false,
      "properties": {
        "date": {
          "$ref": "#/$defs/ISODate"
        },
        "amount": {
          "$ref": "#/$defs/CurrencyAmount"
        },
        "credit_debit_indicator": {
          "$ref": "#/$defs/CreditDebitCode"
        }
      },
      "required": [
        "date",
        "amount",
        "credit_debit_indicator"
      ]
    },
    "BalanceTypeCode": {
      "type": "string",
      "description": "Specifies the nature of the balance.\n*`CLAV_closing_available`-Closing balance of amount of money that is at the disposal of the account owner on the date specified.\n*`CLBD_closing_booked`-Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period.\n*`FWAV_forward_available`-Forward available balance of money that is at the disposal of the account owner on the date specified.\n*`ITAV_interim_available`-Available balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.\n*`OPAV_opening_available`- Opening balance of amount of money that is at the disposal of the account owner on the date specified.\n*`OPBD_opening_booked`-Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report.\n*`PRCD_previously_closed_booked`-Balance of the account at the previously closed account reporting period. The opening booked balance for the new period has to be equal to this balance. \n\nUsage: the previously booked closing balance should equal (inclusive date) the booked closing balance of the date it references and equal the actual booked opening balance of the current date.\n",
      "enum": [
        "CLAV",
        "CLBD",
        "FWAV",
        "ITAV",
        "OPAV",
        "OPBD",
        "PRCD"
      ]
    },
    "BankTransactionCode": {
      "type": "object",
      "description": "Set of elements used to identify the type or operations code of a transaction entry.",
      "additionalProperties": false,
      "properties": {
        "domain_code": {
          "description": "Specifies the external domain code of the bank transaction code (business area of the underlying transaction) in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately. External code sets can be downloaded from www.iso20022.org.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 4
        },
        "family_code": {
          "description": "Specifies the bank transaction code family within a domain, as published in an external bank transaction code family code list. External code sets can be downloaded from www.iso20022.org.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 4
        },
        "sub_family_code": {
          "description": "Specifies the bank transaction code sub-product (sub-family) family within a specific family, as published in an external bank transaction code sub-family code list. External code sets can be downloaded from www.iso20022.org.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 4
        },
        "proprietary_code": {
          "description": "Proprietary bank transaction code to identify the underlying transaction.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "issuer": {
          "description": "Identification of the issuer of the proprietary bank transaction code.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        }
      }
    },
    "BaseOneRate": {
      "description": "Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.",
      "type": "string",
      "maxLength": 12
    },
    "BatchInformation": {
      "type": "object",
      "description": "Provides details on batched transactions.",
      "additionalProperties": false,
      "properties": {
        "message_identification": {
          "description": "Point to point reference, as assigned by the sending party, to unambiguously identify the batch of transactions.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]+$"
        },
        "payment_information_identification": {
          "description": "Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the message.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]+$"
        },
        "number_of_transactions": {
          "type": "integer",
          "format": "int32",
          "minLength": 1,
          "maxLength": 15
        },
        "total_amount": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyAndAmount"
        },
        "credit_debit_indicator": {
          "$ref": "#/$defs/CreditDebitCode"
        }
      }
    },
    "BranchAndFinancialInstitutionIdentification": {
      "type": "object",
      "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.",
      "additionalProperties": false,
      "properties": {
        "financial_institution_identification": {
          "$ref": "#/$defs/FinancialInstitutionIdentification"
        },
        "branch_identification": {
          "$ref": "#/$defs/BranchIdentification"
        }
      },
      "required": [
        "financial_institution_identification"
      ]
    },
    "BranchIdentification": {
      "type": "object",
      "description": "Information that locates and identifies a specific branch of a financial institution.",
      "additionalProperties": false,
      "properties": {
        "identification": {
          "description": "Unique and unambiguous identification of a branch of a financial institution.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "lei": {
          "$ref": "#/$defs/LEIIdentifier"
        },
        "name": {
          "description": "Name by which an agent is known and which is usually used to identify that agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "postal_address": {
          "description": "Information that locates and identifies a specific address, as defined by postal services.\n\nRECOMMENDATION IN ORDER OF PREFERENCE: \n* Use only structured address with mandatory Town Name and Country \n* When using unstructured address, (Address Line), max 1 occurrence with 105 text is allowed. \n* Address Line must not contain Country which must be included in the dedicated Country element in the unstructured structured address. \n",
          "oneOf": [
            {
              "$ref": "#/$defs/PostalAddress"
            },
            {
              "$ref": "#/$defs/PostalAddressUnstructured"
            }
          ]
        }
      }
    },
    "CashAccount": {
      "type": "object",
      "description": "Provides the details to identify an account.",
      "additionalProperties": false,
      "properties": {
        "identification": {
          "$ref": "#/$defs/AccountIdentificationChoice"
        },
        "type": {
          "$ref": "#/$defs/CashAccountTypeChoice"
        },
        "currency": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyCode"
        },
        "name": {
          "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.  \n\nUsage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number.\n",
          "type": "string",
          "minLength": 1,
          "maxLength": 70,
          "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]+$"
        },
        "alternate_identification": {
          "$ref": "#/$defs/GenericIdentification"
        },
        "owner": {
          "$ref": "#/$defs/PartyIdentification"
        },
        "servicer": {
          "$ref": "#/$defs/BranchAndFinancialInstitutionIdentification"
        }
      },
      "required": [
        "identification",
        "currency"
      ]
    },
    "CashAccountTypeChoice": {
      "type": "object",
      "description": "Nature or use of the account.",
      "additionalProperties": true,
      "oneOf": [
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "$ref": "#/$defs/ExternalCashAccountTypeCode"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "proprietary"
          ],
          "properties": {
            "proprietary": {
              "description": "Nature or use of the account in a proprietary form.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "CashAvailability": {
      "type": "object",
      "description": "Indicates when the amount of money will become available, that is can be accessed and start generating interest.",
      "additionalProperties": false,
      "properties": {
        "date": {
          "$ref": "#/$defs/ISODate"
        },
        "amount": {
          "$ref": "#/$defs/CurrencyAmount"
        },
        "credit_debit_indicator": {
          "$ref": "#/$defs/CreditDebitCode"
        }
      },
      "required": [
        "date",
        "amount",
        "credit_debit_indicator"
      ]
    },
    "ChargeBearerTypeCode": {
      "type": "string",
      "description": "Specifies which party(ies) will pay charges due for processing of the instruction.\n*`DEBT_borne_by_debtor`-All transaction charges are to be borne by the debtor.\n*`CRED_borne_by_creditor`-All transaction charges are to be borne by the creditor.\n*`SHAR_shared`-In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.\n*`SLEV_following_service_level`-Charges are to be applied following the rules agreed in the service level and/or scheme.\n",
      "enum": [
        "DEBT",
        "CRED",
        "SHAR",
        "SLEV"
      ]
    },
    "Charges": {
      "type": "object",
      "description": "Provides further details on the charges related to the payment transaction.",
      "additionalProperties": false,
      "properties": {
        "total_charges_and_tax_amount": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyAndAmount"
        },
        "record": {
          "type": "array",
          "description": "Provides details of the individual charges record.",
          "items": {
            "$ref": "#/$defs/ChargesRecord"
          }
        }
      }
    },
    "ChargesRecord": {
      "type": "object",
      "description": "Provides further individual record details on the charges related to the payment transaction.",
      "additionalProperties": false,
      "properties": {
        "amount": {
          "$ref": "#/$defs/ActiveOrHistoricCurrencyAndAmount"
        },
        "credit_debit_indicator": {
          "$ref": "#/$defs/CreditDebitCode"
        },
        "charge_included_indicator": {
          "description": "Indicates whether the charge should be included in the amount or is added as pre-advice.",
          "type": "boolean"
        },
        "type": {
          "$ref": "#/$defs/GenericIdentification"
        },
        "rate": {
          "$ref": "#/$defs/PercentageRate"
        },
        "bearer": {
          "$ref": "#/$defs/ChargeBearerTypeCode"
        },
        "agent": {
          "$ref": "#/$defs/BranchAndFinancialInstitutionIdentification"
        },
        "tax": {
          "$ref": "#/$defs/TaxCharges"
        }
      },
      "required": [
        "amount"
      ]
    },
    "ClearingSystemIdentificationChoice": {
      "type": "object",
      "description": "Choice of a clearing system identifier.",
      "additionalProperties": true,
      "oneOf": [
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "$ref": "#/$defs/ExternalClearingSystemIdentificationCode"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "proprietary"
          ],
          "properties": {
            "proprietary": {
              "description": "Identification code for a clearing system, that has not yet been identified in the list of clearing systems.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "ClearingSystemMemberIdentification": {
      "type": "object",
      "description": "Unique identification, as assigned by a clearing system, to unambiguously identify a member of the clearing system.",
      "additionalProperties": false,
      "properties": {
        "clearing_system_identification": {
          "$ref": "#/$defs/ClearingSystemIdentificationChoice"
        },
        "member_identification": {
          "description": "Identification of a member of a clearing system.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]+$"
        }
      },
      "required": [
        "member_identification"
      ]
    },
    "CountryCode": {
      "type": "string",
      "pattern": "^[A-Z]{2,2}$",
      "description": "Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n"
    },
    "CreditDebitCode": {
      "type": "string",
      "description": "Specifies if an operation is an increase or a decrease.\n*`CRDT_credit`-Operation is an increase.\n*`DBIT_debit`-Operation is a decrease.\n",
      "enum": [
        "CRDT",
        "DBIT"
      ]
    },
    "CreditLine": {
      "type": "object",
      "description": "Specifies the details of a credit line.",
      "additionalProperties": false,
      "properties": {
        "included": {
          "description": "Indicates whether or not the credit line is included in the balance.",
          "type": "boolean",
          "default": false
        },
        "type": {
          "$ref": "#/$defs/ExternalCreditLineTypeCode"
        },
        "amount": {
          "$ref": "#/$defs/CurrencyAmount"
        }
      },
      "required": [
        "included"
      ]
    },
    "CurrencyAmount": {
      "type": "object",
      "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\n",
      "additionalProperties": false,
      "required": [
        "currency_code",
        "amount"
      ],
      "properties": {
        "currency_code": {
          "description": "ISO three character currency code.\n\nThe Currency Code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the Currency is exchanged.\n",
          "type": "string",
          "minLength": 3,
          "maxLength": 3,
          "pattern": "^[A-Z]{3,3}$"
        },
        "amount": {
          "description": "The amount with fractional digit. The number of fractional digits (or minor unit of currency) must comply with ISO 4217. \n\nfractionDigits - 5\ntotalDigits - 18\n*`Note:` The decimal separator is a dot.\n",
          "type": "string",
          "maxLength": 19,
          "pattern": "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|0*|([0-9]{0,18}))$"
        }
      }
    },
    "CurrencyCode": {
      "description": "Code allocated to a currency, by a maintenance agency, under an international identification scheme as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\". Valid currency codes are registered with the ISO 4217 Maintenance Agency, and consist of three contiguous letters.\n",
      "type": "string",
      "pattern": "^[A-Z]{3,3}$"
    },
    "CurrencyExchange": {
      "type": "object",
      "description": "Set of elements used to provide details of the currency exchange.",
      "additionalProperties": false,
      "properties": {
        "source_currency": {
          "$ref": "#/$defs/CurrencyCode"
        },
        "target_currency": {
          "$ref": "#/$defs/CurrencyCode"
        },
        "unit_currency": {
          "$ref": "#/$defs/CurrencyCode"
        },
        "exchange_rate": {
          "$ref": "#/$defs/BaseOneRate"
        },
        "contract_identification": {
          "description": "Unique identification to unambiguously identify the foreign exchange contract.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "quotation_date": {
          "$ref": "#/$defs/ISODateTime"
        }
      },
      "required": [
        "source_currency",
        "exchange_rate"
      ]
    },
    "DateAndPlaceOfBirth": {
      "type": "object",
      "description": "Date and place of birth of a person.",
      "additionalProperties": false,
      "properties": {
        "birth_date": {
          "$ref": "#/$defs/ISODate"
        },
        "province_of_birth": {
          "description": "Province where a person was born.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "city_of_birth": {
          "description": "City where a person was born.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "country_of_birth": {
          "$ref": "#/$defs/CountryCode"
        }
      },
      "required": [
        "birth_date",
        "city_of_birth",
        "country_of_birth"
      ]
    },
    "DateTimePeriod": {
      "type": "object",
      "description": "Time span defined by a start date and time, and an end date and time.",
      "additionalProperties": false,
      "properties": {
        "from_date_time": {
          "$ref": "#/$defs/ISODateTime"
        },
        "to_date_time": {
          "$ref": "#/$defs/ISODateTime"
        }
      },
      "required": [
        "from_date_time",
        "to_date_time"
      ]
    },
    "Document": {
      "type": "object",
      "description": "General information that unambiguously identifies a document, such as identification number and issue date time.",
      "additionalProperties": false,
      "properties": {
        "type": {
          "$ref": "#/$defs/ReferredDocumentTypeChoice"
        },
        "number": {
          "description": "Unique and unambiguous identification of the referred document.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ !#$%&\\*=^_`\\{\\|\\}~\";<>@\\[\\\\\\]]+$"
        },
        "related_date": {
          "$ref": "#/$defs/ISODate"
        },
        "line_details": {
          "type": "array",
          "description": "Set of elements used to provide the content of the referred document line.",
        

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://artifacts.apis.io/swift/json-schema/swift-statement-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/swift-statement"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.