openapi: 3.0.1 info: title: Payment Initiation Service description: >- The Payment Initiation API allows partners to make payments. Each payment method takes different input values based on the type of payment. This service accommodates all different data attributes for all the available payment methods. This specification describes the fields required for the ISO PACS 008.001.02 payment initiation standard payload. This standard supports multiple country and currency options. You can generate sample XML content for the countries of your choice by using the Citi Payment Formatting Rules Tool. Download our SDKs: * [Python SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=python&apiTitle=all&isClientSecReq=true) * [Java SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=java&apiTitle=all&isClientSecReq=true) * [.Net SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=dotnet&apiTitle=all&isClientSecReq=true) * [Ruby SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=ruby&apiTitle=all&isClientSecReq=true) * [NodeJS SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=nodejs&apiTitle=all&isClientSecReq=true) * [Go SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=go&apiTitle=all&isClientSecReq=true) * [CLI Tool SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=ccapi-cli&apiTitle=all&isClientSecReq=true) Note: You must be logged in to download the SDKs. ## Tracking Payment Status Because of the asynchronous nature of payment initiation and processing in Citi's Payment Initiation API, we recommend following these best practice guidelines for tracking your Payment Initiation Request to determine the status before reinitiating payment as that can cause inadvertent duplication of payments, resulting in unintended payments being made. To best determine the status of your Payment Initiation Request using a Payment Status Request (PSR): | Scenario for Client | Scenario for Citi | Initial PSR Received? | Recommended Action | |-------------------------------------------|-----------------------------------------------|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Client received response from Citi | Citi received Payment Initiation request | Yes | API call, response and PSR working without issue. No action required. | | Client did not receive response from Citi | Citi received Payment Initiation request
| Yes | The payment initiation was confirmed to be successful by receipt of the first PSR. No action required. | | Client did not receive response from Citi | Citi received Payment Initiation request | No | The client could not confirm the success of the Payment Initiation call from the syncronous response or PSR, but the request was received by Citi. In order to avoid duplicated payments, send a payment status inquiry at 5 minute intervals. If no response is received for three consecutive payment status inquiries, contact your Citi representative. | | Client did not receive response from Citi | Citi did not receive Payment Initiation | No | Responses have timed out, but Citi is processing payment.

In order to avoid duplicated payments, send a payment status inquiry at 5 minute intervals. If no response is received for three consecutive payment status inquiries, contact your Citi representative.

If Citi representative is unable to confirm the payment status, or the payment initiation was unsuccessful, re-send the payment using the original end-to-end ID. Using the original end-to-end ID ensures that the payment will not be inadvertently duplicated. | contact: name: Standards & Developer Hub url: https://tts.sandbox.developer.citi.com/citiconnect/ email: developer-support@citi.com version: 3.0.0 servers: - url: >- https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/initiation description: production gateway url - url: >- https://cte.b2b.tts.icgservices.citi.com/citiconnect/sb/paymentservices/v3/payment/initiation description: sandbox url tags: - name: Pacs 00800102 paths: /payment/initiation: post: tags: - Pacs 00800102 summary: Payment description: >- You can initiate a new payment using the Payment Initiation API. This service takes the necessary data required in ISOXML pacs.008.001.02 format to initiate a payment through CitiConnect API. It can be used to initiate one Direct Debit request per API call. **Note:** The required fields vary depending on the countries and currencies used in the request. For detailed and up-to-date information on the necessary fields and formats, see the Citi Payment Formatting Rules Tool. The Payment Initiation service accommodates all different data attributes for all the available payment methods. * **payloadType:** Supports “urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02” * **Request:** The request follows ISO XML V3 (pacs.008.001.02) standards * **paymentBase64:** ISO XML V3 (pain.008.001.02) standards. The file must be converted to Base64 format and passed in \\ tags. * **Response:** The response follows ISO XML V3 (pacs.002.001.10) standards. operationId: paymentInitiationUsingPOST parameters: - name: client_id in: query description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for OAuth token generation. required: true schema: type: string - name: Content-type in: header description: Supports "application/xml" required: true schema: type: string - name: Authorization in: header description: The OAuth Token prefixed with "Bearer" and a space in between. required: true schema: type: string - name: payloadType in: header description: Supports "urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08" format required: true schema: type: string requestBody: description: >+ Contains the required fields of the ISOXML request body. The request body must be Base64 encoded and enclosed within the \\ tags. **Note:** The required fields of the `requestBody` are highly dependent on the countries and currencies used in the payment. For the most specific and up-to-date fields use the Citi Payment Formatting Rules Tool. This example `requestBody` is provided for guidance. content: application/xml: schema: $ref: '#/components/schemas/DocumentReq' example: >- TESTGBINS005TESTBINTESTGB247API12022020-12-01T01:05:001INDA8231141EURBARCGB22XXXCITIGB2LNOTPROVIDEDGB600A13600OrginlrefCITI10G117743.332021-06-1811143.331.20CRED5242.10NOTPROVIDEDNOTPROVIDEDBOFAUS3NXXXIntermediary Bank NamexxxxxxxxxxxxxUSIntermediary Bank Address Line 1xIntermediary Bank Address Line 2xIntermediary Bank Address Line 3xOrdering Party NameOrdering Party Address Line 1Ordering Party Address Line 2Ordering Party Address Line 38548668DEUTDEFFXXXDebtor Agent NameDebtor Agent Address Line 1Debtor Agent Address Line 2Debtor Agent Address Line 3AcctInstnameBeneficiary NameBeneficiary Address Line 1Beneficiary Address Line 2Beneficiary Address Line 330415477NAME-CDTRACCT--------------------35CHASGB33XXX123123123123NEW01CHASGB33XXX12312312312312311NEW02CHASGB33XXXX123123123NEW1103CHASGB33XXXX123123123NEW1111NEW04CHASGB33XXXX123123123NEW1111NEW05/BENEFRES/GB//REGLTORYREPRTINGLINE1/BENEFRES/GB//REGLTORYREPRTINGLINE2/BENEFRES/GB//REGLTORYREPRTINGLINE3UNSTRUCTURED PAYMENT LINE1 UNSTRU01FXDRstrd tag creation begin here 1 required: true responses: '200': description: >- OK - your request was received and acknowledged successfully. Check the response body for the transaction status. | Payment Status | Recommended Action | | -------------- | ----------------- | | Decrypted payload is unintelligible | Make a payment status inquiry every 5 minutes for 15 minutes. If you do not receive a response, contact Citi. | PDNG - Pending | Received L0 as resposne | | ACTC/ACCP - Accepted | Make a payment status inquiry every 5 minutes | | RJCT - Rejected | See the status reason for more information | | ACSP/ACSC - Payment successfully processed and cleared | No action required | content: application/xml: schema: $ref: '#/components/schemas/Document' example: >- CITIBANK/20260417-PSR/9179464242026-04-17T09:35:22TESTGBINS005TESTBINTESTGB247API1202pacs.008.001.08SN4174156SN4174156dbbb2c28-fbf7-4c80-be87-43c6d52afd1cPDNGPayment validation is in-progressBARCGB22XXXCITIGB2L '400': description: >- Bad Request

Send a Payment Status Inquiry three times at five minute intervals to confirm that the request has not been received in that time. If the request has not been received, resend the request using the same end-to-end ID. content: application/xml: schema: $ref: '#/components/schemas/errormessage' example: >- Bad Request400Schema Validation Failed. '401': description: Unauthorized content: application/xml: schema: $ref: '#/components/schemas/errormessage' example: >- Invalid OAuth Token401Please use valid OAuth Token. '403': description: Forbidden content: application/xml: schema: $ref: '#/components/schemas/errormessage' example: >- Forbidden403You are forbidden to access this service. '404': description: Not found content: application/xml: schema: $ref: '#/components/schemas/errormessage' example: >- Not Found404No resources match requested URI. '405': description: Method Not Allowed content: application/xml: example: >- Method not allowed405Please use valid HTTP supported verb only. '500': description: >- Internal Server Error

Send a Payment Status Inquiry three times at five minute intervals to confirm that the request has not been received in that time. If the request has not been received, resend the request using the same end-to-end ID. content: application/xml: schema: $ref: '#/components/schemas/errormessage' example: >- SSL Connection error500SSL Connection error with BE server. security: - clientCredentials: [] components: schemas: DocumentReq: required: - FIToFICstmrCdtTrf properties: FIToFICstmrCdtTrf: $ref: '#/components/schemas/FIToFICustomerCreditTransferV08' description: Payment initiation request body. xml: name: Document Document: required: - FIToFIPmtStsRpt properties: FIToFIPmtStsRpt: $ref: '#/components/schemas/FIToFIPaymentStatusReportV10' description: Payment initiation response body in ISO XML pacs.002.001.10 format. errormessage: required: - httpCode type: object properties: httpCode: type: integer format: int32 httpMessage: type: string moreInformation: type: string description: Error response body FIToFICustomerCreditTransferV08: required: - CdtTrfTxInf - GrpHdr type: object properties: GrpHdr: $ref: '#/components/schemas/GroupHeader93' CdtTrfTxInf: minItems: 1 type: array description: >- Provides further details specific to the individual transaction(s) included in the message. items: $ref: '#/components/schemas/CreditTransferTransaction39' SplmtryData: type: array description: >- Additional information that can not be captured in the structured parameters and/or any other specific block. items: $ref: '#/components/schemas/SupplementaryData1' description: >- The `FinancialInstitutionToFinancialInstitutionCustomerCreditTransfer` message is sent by the debtor agent to the creditor agent, directly or through other agents and/or a payment clearing and settlement system. It is used to move funds from a debtor account to a creditor. FIToFIPaymentStatusReportV10: required: - GrpHdr type: object properties: GrpHdr: $ref: '#/components/schemas/GroupHeader91' OrgnlGrpInfAndSts: type: array description: Provides details on the original group, to which the message refers. items: $ref: '#/components/schemas/OriginalGroupHeader17' TxInfAndSts: type: array description: >- Provides further details on the original transactions, to which the status report message refers. items: $ref: '#/components/schemas/PaymentTransaction110' SplmtryData: type: array description: >- Additional information that can not be captured in the structured parameters and/or any other specific block. items: $ref: '#/components/schemas/SupplementaryData1' AccountIdentification4Choice: type: object properties: IBAN: $ref: '#/components/schemas/IBAN2007Identifier' Othr: $ref: '#/components/schemas/GenericAccountIdentification1' description: >- Unique identification for the account between the account owner and the account servicer. Either the`iban` or the `Othr` parameter should be passed in the request . ActiveOrHistoricCurrencyAndAmount: type: object properties: Ccy: type: object description: Currency code. Passed as the tag attribute. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' Value: $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount_SimpleType' ActiveCurrencyAndAmount: type: object properties: Ccy: type: object description: Currency code. Passed as the tag attribute. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' Value: $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount_SimpleType' ActiveOrHistoricCurrencyAndAmount_SimpleType: maxLength: 18 type: string 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. The number of fractional digits in the amount should not be more than 5. ActiveOrHistoricCurrencyCode: pattern: '[A-Z]{3,3}' type: string AddressType3Choice: type: object properties: Cd: type: string description: >- Specifies the type of address.

ADDR: Address is the complete postal address.

PBOX: Address is a postal office (PO) box.

HOME: Address is the home address.

BIZZ: Address is the business address.

MLTO: Address is the address to which mail is sent.

DLVY: Address is the address to which delivery is to take place. enum: - ADDR - PBOX - HOME - BIZZ - MLTO - DLVY Prtry: $ref: '#/components/schemas/GenericIdentification30' description: >- Identifies the nature of the postal address. Either Code or Proprietary parameter should be passed in the request . AmendmentInformationDetails13: type: object properties: OrgnlMndtId: type: object description: >- Unique identification, as assigned by the creditor, to identify the original mandate. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlCdtrSchmeId: type: object description: Original creditor scheme identification that has been modified. allOf: - $ref: '#/components/schemas/PartyIdentification135' OrgnlDbtr: type: object description: Original debtor that has been modified. allOf: - $ref: '#/components/schemas/PartyIdentification135' OrgnlDbtrAcct: type: object description: Original debtor account that has been modified. allOf: - $ref: '#/components/schemas/CashAccount38' OrgnlDbtrAgt: type: object description: Original debtor agent that has been modified. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 OrgnlDbtrAgtAcct: type: object description: Original debtor agent account that has been modified. allOf: - $ref: '#/components/schemas/CashAccount38' OrgnlCdtrAgt: type: object description: Original creditor agent that has been modified. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 OrgnlCdtrAgtAcct: type: object description: Original creditor agent account that has been modified. allOf: - $ref: '#/components/schemas/CashAccount38' OrgnlFnlColltnDt: type: string description: Original final collection date that has been modified. format: date OrgnlFrqcy: type: object description: >- Original frequency that has been modified. One of the 3 parameters(Tp/Prd/PtInTm) should be passed in the request. allOf: - $ref: '#/components/schemas/Frequency36Choice' OrgnlRsn: type: object description: >- Original reason for the mandate to allow the user to distinguish between different mandates for the same creditor. One of the 2 parameters (`Cd`/`Prtry`) should be passed in the request. allOf: - $ref: '#/components/schemas/MandateSetupReason1Choice' OrgnlTrckgDays: pattern: '[0-9]{2}' type: string description: Original number of tracking days that has been modified. description: List of mandate elements that have been modified. AmountType4Choice: type: object properties: EqvtAmt: $ref: '#/components/schemas/EquivalentAmount2' InstdAmt: 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. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' 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. Either the `EqvtAmt` or the `InstdAmt` parameter should be passed in the request. BaseOneRate: maxLength: 11 type: string description: >- Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. The number of fractional digits in the rate should not be more than 10. BranchAndFinancialInstitutionIdentification6: required: - FinInstnId type: object properties: BrnchId: $ref: '#/components/schemas/BranchData3' FinInstnId: $ref: '#/components/schemas/FinancialInstitutionIdentification18' BranchData3: type: object properties: Id: type: object description: Unique identification of a branch of a financial institution. allOf: - $ref: '#/components/schemas/Max35Text' LEI: pattern: '[A-Z0-9]{18,18}[0-9]{2,2}' type: string description: Legal entity identifier of the financial institution. Nm: type: object description: >- Name by which an agent is known and which is usually used to identify that agent. allOf: - $ref: '#/components/schemas/Max140Text' PstlAdr: $ref: '#/components/schemas/PostalAddress24' description: Identifies a specific branch of a financial institution. CashAccount38: required: - Id type: object properties: Ccy: type: object description: Identification of the currency in which the account is held. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' Id: $ref: '#/components/schemas/AccountIdentification4Choice' Nm: type: object 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. allOf: - $ref: '#/components/schemas/Max70Text' Tp: $ref: '#/components/schemas/CashAccountType2Choice' Prxy: $ref: '#/components/schemas/ProxyAccountIdentification1' CashAccountType2Choice: type: object properties: Cd: maxLength: 4 minLength: 1 type: string description: >- Specifies the nature, or use, of the cash account 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. Prtry: type: object description: Name of the cash account, in a free text form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specifies the nature, or use of the account. Either the `code` or the `proprietary` parameter should be passed in the request. CategoryPurpose1Choice: type: object properties: Cd: maxLength: 4 minLength: 1 type: string description: >- Category purpose, as published in an external category purpose code list. Prtry: type: object description: Category purpose, in a proprietary form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specifies the high level purpose of the instruction based on a set of pre-defined categories. Either the `code` or the `proprietary` parameter should be passed in the request . ChargeBearerType1Code: type: string description: >- Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

DEBT: All transaction charges are to be borne by the debtor.

CRED: All transaction charges are to be borne by the creditor.

SHAR: 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.

SLEV: Charges are to be applied following the rules agreed in the service level and/or scheme. enum: - DEBT - CRED - SHAR - SLEV Charges7: type: object properties: Amt: type: object description: Transaction charges to be paid by the charge bearer. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' Agt: type: object description: >- Agent that takes the transaction charges or to which the transaction charges are due. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 ClearingChannel2Code: type: string description: >- Specifies the clearing channel to be used to process the payment instruction.

RTGS: Clearing channel is a real-time gross settlement system.

RTNS: Clearing channel is a real-time net settlement system.

MPNS: Clearing channel is a mass payment net settlement system.

BOOK: Payment through internal book transfer. enum: - RTGS - RTNS - MPNS - BOOK ClearingSystemIdentification3Choice: type: object properties: Cd: maxLength: 3 minLength: 1 type: string description: >- Infrastructure through which the payment instruction is processed, as published in an external clearing system identification code list. External code sets can be downloaded from www.iso20022.org. Prtry: type: object description: Clearing system identification in a proprietary form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed. Either the `code` or the `proprietary` parameter should be passed in the request . ClearingSystemMemberIdentification2: required: - MmbId type: object properties: ClrSysId: type: object properties: Cd: maxLength: 5 minLength: 1 type: string description: >- Identification of a clearing system, in a coded form as published in an external clearing system identification code list. External code sets can be downloaded from www.iso20022.org. Prtry: type: object description: >- Identification code for a clearing system, that has not yet been identified in the list of clearing systems. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed. Either the `code` or the `proprietary` parameter should be passed in the request . MmbId: type: object description: Identification of a member of a clearing system. allOf: - $ref: '#/components/schemas/Max35Text' description: Information used to identify a member within a clearing system. Contact4: type: object properties: NmPrfx: $ref: '#/components/schemas/NamePrefix2Code' Nm: type: object description: >- Name by which a party is known and which is usually used to identify that party. allOf: - $ref: '#/components/schemas/Max140Text' PhneNb: type: object description: >- Collection of information that identifies a phone number, as defined by telecom services. allOf: - $ref: '#/components/schemas/PhoneNumber' MobNb: type: object description: >- Collection of information that identifies a mobile phone number, as defined by telecom services. allOf: - $ref: '#/components/schemas/PhoneNumber' FaxNb: type: object description: >- Collection of information that identifies a FAX number, as defined by telecom services. allOf: - $ref: '#/components/schemas/PhoneNumber' EmailAdr: type: object description: Address for electronic mail (e-mail). allOf: - $ref: '#/components/schemas/Max2048Text' EmailPurp: type: object description: Purpose for which an email address may be used. allOf: - $ref: '#/components/schemas/Max35Text' JobTitl: type: object description: Title of the function. allOf: - $ref: '#/components/schemas/Max35Text' Rspnsblty: type: object description: Role of a person in an organization. allOf: - $ref: '#/components/schemas/Max35Text' Dept: type: object description: Identification of a division of a large organization or building. allOf: - $ref: '#/components/schemas/Max70Text' Othr: type: array description: Contact details in another form. items: $ref: '#/components/schemas/OtherContact1' PrefrdMtd: $ref: '#/components/schemas/PreferredContactMethod1Code' description: Set of elements used to indicate how to contact the party. CountryCode: pattern: '[A-Z]{2,2}' type: string description: >- Nation with its own government. The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code). CreditDebitCode: type: string description: >- Specifies whether the adjustment must be subtracted or added to the total amount.

CRDT: Operation is an increase.

DBIT: Operation is a decrease. enum: - CRDT - DBIT CreditorReferenceInformation2: type: object properties: Ref: type: object description: >- Unique reference, as assigned by the creditor, to refer to the payment transaction. allOf: - $ref: '#/components/schemas/Max35Text' Tp: $ref: '#/components/schemas/CreditorReferenceType2' description: >- Reference information provided by the creditor to allow the identification of the underlying documents. CreditorReferenceType1Choice: type: object properties: Cd: $ref: '#/components/schemas/DocumentType3Code' Prtry: type: object description: Creditor reference type, in a proprietary form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Coded or proprietary format creditor reference type. Either Code or Proprietary field value should be passed on request. CreditorReferenceType2: required: - CdOrPrtry type: object properties: CdOrPrtry: $ref: '#/components/schemas/CreditorReferenceType1Choice' Issr: type: object description: Entity that assigns the credit reference type. allOf: - $ref: '#/components/schemas/Max35Text' description: Specifies the type of creditor reference. CreditTransferTransaction39: required: - Cdtr - CdtrAgt - ChrgBr - Dbtr - DbtrAgt - IntrBkSttlmAmt - PmtId type: object properties: PmtId: $ref: '#/components/schemas/PaymentIdentification7' PmtTpInf: $ref: '#/components/schemas/PaymentTypeInformation28' IntrBkSttlmAmt: type: object description: >- Amount of money moved between the instructing agent and the instructed agent. allOf: - $ref: '#/components/schemas/ActiveCurrencyAndAmount' IntrBkSttlmDt: type: string description: >- Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due. format: date SttlmPrty: type: object description: >- Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the settlement instruction. allOf: - $ref: '#/components/schemas/Priority3Code' SttlmTmIndctn: type: object properties: DbtDtTm: type: string description: >- Date and time at which a payment has been debited at the transaction administrator. In the case of TARGET, the date and time at which the payment has been debited at the central bank, expressed in Central European Time (CET). format: date-time CdtDtTm: type: string description: >- Date and time at which a payment has been credited at the transaction administrator. In the case of TARGET, the date and time at which the payment has been credited at the receiving central bank, expressed in Central European Time (CET). format: date-time description: >- Provides information on the occurred settlement time(s) of the payment transaction. SttlmTmReq: type: object properties: CLSTm: type: string description: >- Time by which the amount of money must be credited, with confirmation, to the CLS Bank's account at the central bank. format: partial-time TillTm: type: string description: Time until when the payment may be settled. format: partial-time FrTm: type: string description: Time as from when the payment may be settled. format: partial-time RjctTm: type: string description: Time by when the payment must be settled to avoid rejection. format: partial-time description: >- Provides information on the requested settlement time(s) of the payment instruction. AccptncDtTm: type: string description: >- Point in time when the payment order from the initiating party meets the processing conditions of the account servicing agent. This means that the account servicing agent has received the payment order and has applied checks such as authorisation, availability of funds. format: date-time PoolgAdjstmntDt: type: object description: >- Date used for the correction of the value date of a cash pool movement that has been posted with a different value date. allOf: - $ref: '#/components/schemas/ISODate' InstdAmt: 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. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' XchgRate: $ref: '#/components/schemas/BaseOneRate' ChrgBr: $ref: '#/components/schemas/ChargeBearerType1Code' ChrgsInf: type: array description: >- Provides information on the charges to be paid by the charge bearer(s) related to the payment transaction. items: $ref: '#/components/schemas/Charges7' PrvsInstgAgt1: type: object description: Agent immediately prior to the instructing agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 PrvsInstgAgt1Acct: type: object description: >- Unambiguous identification of the account of the previous instructing agent at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' PrvsInstgAgt2: type: object description: Agent immediately prior to the instructing agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 PrvsInstgAgt2Acct: type: object description: >- Unambiguous identification of the account of the previous instructing agent at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' PrvsInstgAgt3: type: object description: Agent immediately prior to the instructing agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 PrvsInstgAgt3Acct: type: object description: >- Unambiguous identification of the account of the previous instructing agent at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' InstgAgt: type: object description: >- Agent that instructs the next party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 InstdAgt: type: object description: >- Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 IntrmyAgt1: type: object description: Agent between the debtor's agent and the creditor's agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 IntrmyAgt1Acct: type: object description: >- Unambiguous identification of the account of the intermediary agent 1 at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' IntrmyAgt2: type: object description: Agent between the debtor's agent and the creditor's agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 IntrmyAgt2Acct: type: object description: >- Unambiguous identification of the account of the intermediary agent 2 at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' IntrmyAgt3: type: object description: Agent between the debtor's agent and the creditor's agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 IntrmyAgt3Acct: type: object description: >- Unambiguous identification of the account of the intermediary agent 3 at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' UltmtDbtr: type: object description: >- Ultimate party that owes an amount of money to the (ultimate) creditor. allOf: - $ref: '#/components/schemas/PartyIdentification135' InitgPty: type: object description: Party that initiates the payment. allOf: - $ref: '#/components/schemas/PartyIdentification135' Dbtr: type: object description: Party that owes an amount of money to the creditor. allOf: - $ref: '#/components/schemas/PartyIdentification135' DbtrAcct: type: object description: >- Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. allOf: - $ref: '#/components/schemas/CashAccount38' DbtrAgt: type: object description: Financial institution servicing an account for the debtor. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 DbtrAgtAcct: type: object description: >- Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' Cdtr: type: object description: Party to which an amount of money is due. allOf: - $ref: '#/components/schemas/PartyIdentification135' CdtrAcct: type: object description: >- Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction. allOf: - $ref: '#/components/schemas/CashAccount38' CdtrAgt: type: object description: Financial institution servicing an account for the creditor. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 CdtrAgtAcct: type: object description: >- Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit entry will be made as a result of the payment transaction. allOf: - $ref: '#/components/schemas/CashAccount38' UltmtCdtr: type: object description: Ultimate party to which an amount of money is due. allOf: - $ref: '#/components/schemas/PartyIdentification135' InstrForCdtrAgt: type: array description: >- Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent. items: $ref: '#/components/schemas/InstructionForCreditorAgent1' InstrForNxtAgt: type: array description: >- Further information related to the processing of the payment instruction that may need to be acted upon by the next agent. items: $ref: '#/components/schemas/InstructionForNextAgent1' Purp: $ref: '#/components/schemas/Purpose2Choice' RgltryRptg: maxItems: 10 type: array description: Information needed due to regulatory and statutory requirements. items: $ref: '#/components/schemas/RegulatoryReporting3' Tax: $ref: '#/components/schemas/TaxInformation8' RltdRmtInf: maxItems: 10 type: array description: >- Provides information related to the handling of the remittance information by any of the agents in the transaction processing chain. items: $ref: '#/components/schemas/RemittanceLocation7' RmtInf: type: object description: >- Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system. allOf: - $ref: '#/components/schemas/RemittanceInformation16' SplmtryData: type: array description: >- Additional information that can not be captured in the structured fields and/or any other specific block. items: $ref: '#/components/schemas/SupplementaryData1' DateAndDateTime2Choice: type: object properties: Dt: type: object description: Date allOf: - $ref: '#/components/schemas/ISODate' DtTm: type: string description: Date and Time format: date-time description: >- Date and time at which a transaction is completed and cleared, that is, payment is effected. Either Dt or DtTm field value should be passed in the request . DateAndPlaceOfBirth: required: - BirthDt - CityOfBirth - CtryOfBirth type: object properties: BirthDt: type: object description: Date on which a person is born. allOf: - $ref: '#/components/schemas/ISODate' PrvcOfBirth: type: object description: Province where a person was born. allOf: - $ref: '#/components/schemas/Max35Text' CityOfBirth: type: object description: City where a person was born. allOf: - $ref: '#/components/schemas/Max35Text' CtryOfBirth: type: object description: Country where a person was born. allOf: - $ref: '#/components/schemas/CountryCode' description: Date and place of birth of a person. DatePeriodDetails: required: - FrDt - ToDt type: object properties: FrDt: type: object description: Start date of the range. allOf: - $ref: '#/components/schemas/ISODate' ToDt: type: object description: End date of the range. allOf: - $ref: '#/components/schemas/ISODate' description: >- Range of time between a start date and an end date for which the tax report is provided. DocumentAdjustment1: required: - Amt type: object properties: AddtlInf: type: object description: Provides further details on the document adjustment. allOf: - $ref: '#/components/schemas/Max140Text' Amt: type: object description: Amount of money of the document adjustment. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' CdtDbtInd: $ref: '#/components/schemas/CreditDebitCode' Rsn: type: object description: Specifies the reason for the adjustment. allOf: - $ref: '#/components/schemas/Max4Text' DiscountAmountAndType1: required: - Amt type: object properties: Tp: $ref: '#/components/schemas/DiscountAmountType1Choice' Amt: type: object description: Amount of money, which has been typed. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' DiscountAmountType1Choice: type: object properties: Cd: type: object description: >- Specifies the nature, or use, of the amount 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. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: Specifies type of amount, as a proprietary code. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specifies the type of the amount. Either the `code` or the `proprietary` parameter should be passed in the request . DocumentLineInformation1: required: - Id type: object properties: Id: minItems: 1 type: array description: >- Set of elements used to provide the content of the referred document line. items: $ref: '#/components/schemas/DocumentLineIdentification1' Desc: type: object description: Description associated with the document line. allOf: - $ref: '#/components/schemas/Max2048Text' Amt: $ref: '#/components/schemas/RemittanceAmount3' DocumentLineIdentification1: type: object properties: Nb: type: object description: Identification of the type specified for the referred document line. allOf: - $ref: '#/components/schemas/Max35Text' RltdDt: type: object description: Date associated with the referred document line. allOf: - $ref: '#/components/schemas/ISODate' Tp: $ref: '#/components/schemas/DocumentLineType1' DocumentType3Code: type: string description: >- Type of creditor reference, in a coded form.

RADM: Document is a remittance advice sent separately from the current transaction.

RPIN: Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.

FXDR: Document is a pre-agreed or pre-arranged foreign exchange transaction to which the payment transaction refers.

DISP: Document is a dispatch advice.

PUOR: Document is a purchase order

SCOR: Document is a structured communication reference provided by the creditor to identify the referred transaction. enum: - RADM - RPIN - FXDR - DISP - PUOR - SCOR DocumentType6Code: type: string description: >- Specifies a type of financial or commercial document.

MSIN: Document is an invoice claiming payment for the supply of metered services, for example gas or electricity supplied to a fixed meter.

CNFA: Document is a credit note for the final amount settled for a commercial transaction.

DNFA: Document is a debit note for the final amount settled for a commercial transaction.

CINV: Document is an invoice.

CREN: Document is a credit note.

DEBN: Document is a debit note.

HIRI: Document is an invoice for the hiring of human resources or renting goods or equipment.

SBIN: Document is an invoice issued by the debtor.

SVGS: Account used for savings.

CMCN: Document is an agreement between the parties, stipulating the terms and conditions of the delivery of goods or services.

SOAC: Document is a statement of the transactions posted to the debtor's account at the supplier.

DISP: Document is a dispatch advice.

BOLD: Document is a shipping notice.

VCHR: Document is an electronic payment document.

AROI: Document is a payment that applies to a specific source document.

TSUT: Document is a transaction identifier as assigned by the Trade Services Utility.

PUOR: Document is a purchase order. enum: - MSIN - CNFA - DNFA - CINV - CREN - DEBN - HIRI - SBIN - CMCN - SOAC - DISP - BOLD - VCHR - AROI - TSUT - PUOR DocumentLineType1: required: - CdOrPrtry type: object properties: CdOrPrtry: $ref: '#/components/schemas/DocumentLineType1Choice' Issr: type: object description: >- Identification of the issuer of the reference document line identificationtype. allOf: - $ref: '#/components/schemas/Max35Text' description: Specifies the type of referred document line identification. DocumentLineType1Choice: type: object properties: Cd: type: object description: >- Specifies the document line type as published in an external document type code list. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: Proprietary identification of the type of the document line. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Provides the type details of the referred document line identification. Either the `code` or the `proprietary` parameter should be passed in the request . EquivalentAmount2: required: - Amt - CcyOfTrf type: object properties: Amt: type: object description: >- Amount of money to be moved between debtor and creditor, before deduction of charges, expressed in the currency of the debtor's account, and to be moved in a different currency. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' CcyOfTrf: type: object description: >- Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' description: >- Amount of money to be moved between the debtor and creditor, expressed in the currency of the debtor's account, and the currency in which the amount is to be moved. FinancialIdentificationSchemeName1Choice: type: object properties: Cd: maxLength: 4 minLength: 1 type: string description: >- Specifies the external account identification scheme name code 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. Prtry: type: object description: Name of the identification scheme, in a free text form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Name of the identification scheme. Either the `code` or the `proprietary` parameter should be passed in the request . FinancialInstitutionIdentification18: type: object properties: BICFI: pattern: '[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}' type: string description: >- Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)". ClrSysMmbId: $ref: '#/components/schemas/ClearingSystemMemberIdentification2' LEI: pattern: '[A-Z0-9]{18,18}[0-9]{2,2}' type: string description: Legal entity identifier of the financial institution. Nm: type: object description: >- Name by which an agent is known and which is usually used to identify that agent. allOf: - $ref: '#/components/schemas/Max140Text' Othr: $ref: '#/components/schemas/GenericFinancialIdentification1' PstlAdr: $ref: '#/components/schemas/PostalAddress24' description: >- Unique identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme. Frequency36Choice: type: object properties: Tp: $ref: '#/components/schemas/Frequency6Code' Prd: $ref: '#/components/schemas/FrequencyPeriod1' PtInTm: $ref: '#/components/schemas/FrequencyAndMoment1' description: >- Regularity with which direct debit instructions are to be created and processed. One of the 3 field values(Tp/Prd/PtInTm) should be passed in the request . Frequency6Code: type: string description: >- Specifies the regularity of an event.br>
YEAR: Event takes place every year or once a year.

MNTH: Event takes place every month or once a month.

QURT: Event takes place every three months or four times a year.

MIAN: Event takes place every six months or two times a year.

WEEK: Event takes place once a week.

DAIL: Event takes place every day.

ADHO: Event takes place on request or as necessary.

INDA: Event takes place several times a day.

FRTN: Event takes place every two weeks. enum: - YEAR - MNTH - QURT - MIAN - WEEK - DAIL - ADHO - INDA - FRTN FrequencyAndMoment1: required: - PtInTm - Tp type: object properties: Tp: $ref: '#/components/schemas/Frequency6Code' PtInTm: pattern: '[0-9]{2}' type: string description: >- Further information on the exact point in time the event should take place. description: >- Defines a frequency in terms a specific moment within a specified period type. FrequencyPeriod1: required: - CntPerPrd - Tp type: object properties: Tp: $ref: '#/components/schemas/Frequency6Code' CntPerPrd: maxLength: 18 type: string description: >- Number of instructions to be created and processed during the specified period. The number of fractional digits in the amount should not be more than 17. description: >- Defines a frequency in terms on counts per period for a specific period type. Garnishment3: required: - Tp type: object properties: Tp: $ref: '#/components/schemas/GarnishmentType1' Grnshee: type: object description: >- Ultimate party that owes an amount of money to the (ultimate) creditor, in this case, to the garnisher. allOf: - $ref: '#/components/schemas/PartyIdentification135' GrnshmtAdmstr: type: object description: >- Party on the credit side of the transaction who administers the garnishment on behalf of the ultimate beneficiary. allOf: - $ref: '#/components/schemas/PartyIdentification135' RefNb: type: object description: >- Reference information that is specific to the agency receiving the garnishment. allOf: - $ref: '#/components/schemas/Max140Text' Dt: type: object description: Date of payment which garnishment was taken from. allOf: - $ref: '#/components/schemas/ISODate' RmtdAmt: type: object description: Amount of money remitted for the referred document. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' FmlyMdclInsrncInd: type: boolean description: >- Indicates if the person to whom the garnishment applies (that is, the ultimate debtor) has family medical insurance coverage available. MplyeeTermntnInd: type: boolean description: >- Indicates if the employment of the person to whom the garnishment applies (that is, the ultimate debtor) has been terminated. description: >- Provides remittance information about a payment for garnishment-related purposes. GarnishmentType1: required: - CdOrPrtry type: object properties: CdOrPrtry: $ref: '#/components/schemas/GarnishmentType1Choice' Issr: type: object description: Identification of the issuer of the garnishment type. allOf: - $ref: '#/components/schemas/Max35Text' description: Specifies the type of garnishment. GarnishmentType1Choice: type: object properties: Cd: type: object description: >- Specifies the garnishment type as published in an external document type code list. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: Proprietary identification of the type of the garnishment. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Provides the type details of the garnishment. Either the `code` or the `proprietary` parameter should be passed in the request . GenericAccountIdentification1: required: - Id type: object properties: Id: type: object description: Identification assigned by an institution. allOf: - $ref: '#/components/schemas/Max34Text' Issr: type: object description: Entity that assigns the identification. allOf: - $ref: '#/components/schemas/Max35Text' SchmeNm: type: object description: Name of the identification scheme. allOf: - $ref: '#/components/schemas/FinancialIdentificationSchemeName1Choice' description: >- Unique identification of an account, as assigned by the account servicer, using an identification scheme. GenericFinancialIdentification1: required: - Id type: object properties: Id: type: object description: Unique identification of a person. allOf: - $ref: '#/components/schemas/Max35Text' Issr: type: object description: Entity that assigns the identification. allOf: - $ref: '#/components/schemas/Max35Text' SchmeNm: $ref: '#/components/schemas/FinancialIdentificationSchemeName1Choice' description: >- Unique identification of an agent, as assigned by an institution, using an identification scheme. GenericIdentification30: required: - Id - Issr type: object properties: Id: pattern: '[a-zA-Z0-9]{4}' type: string description: >- Proprietary information, often a code, issued by the data source scheme issuer. Issr: type: object description: Entity that assigns the identification. allOf: - $ref: '#/components/schemas/Max35Text' SchmeNm: type: object description: Short textual description of the scheme. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Information related to an identification, for example, party identification or account identification. GenericOrganisationIdentification1: required: - Id type: object properties: Id: type: object description: Identification assigned by an institution. allOf: - $ref: '#/components/schemas/Max35Text' SchmeNm: type: object description: Name of the identification scheme. allOf: - $ref: '#/components/schemas/IdentificationSchemeName1Choice' Issr: type: object description: Entity that assigns the identification. allOf: - $ref: '#/components/schemas/Max35Text' GenericPersonIdentification1: required: - Id type: object properties: Id: type: object description: Unique identification of a person. allOf: - $ref: '#/components/schemas/Max35Text' SchmeNm: type: object description: Name of the identification scheme. allOf: - $ref: '#/components/schemas/IdentificationSchemeName1Choice' Issr: type: object description: Entity that assigns the identification. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Unique identification of a person, as assigned by an institution, using an identification scheme. GroupHeader93: required: - CreDtTm - MsgId - NbOfTxs - SttlmInf type: object properties: MsgId: maxLength: 35 minLength: 1 type: string description: >- Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to identify the message. CreDtTm: type: string description: Date and time at which the message was created. format: date-time BtchBookg: type: boolean description: >- Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a message is requested. NbOfTxs: type: object description: Number of individual transactions contained in the message. allOf: - $ref: '#/components/schemas/Max15NumericText' CtrlSum: maxLength: 18 type: string description: >- Total of all individual amounts included in the message, irrespective of currencies. The number of fractional digits in the amount should not be more than 17. TtlIntrBkSttlmAmt: type: object description: >- Total amount of money moved between the instructing agent and the instructed agent. allOf: - $ref: '#/components/schemas/ActiveCurrencyAndAmount' IntrBkSttlmDt: type: string description: >- Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due. format: date SttlmInf: $ref: '#/components/schemas/SettlementInstruction7' PmtTpInf: $ref: '#/components/schemas/PaymentTypeInformation28' InstgAgt: type: object description: >- Agent that instructs the next party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 InstdAgt: type: object description: >- Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 description: >- Group header details. Set of characteristics shared by all individual transactions included in the message. GroupHeader91: required: - CreDtTm - MsgId type: object properties: MsgId: type: object description: >- Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to identify the message. allOf: - $ref: '#/components/schemas/Max35Text' CreDtTm: type: string description: Date and time at which the message was created. format: date-time InstgAgt: type: object description: >- Agent that instructs the next party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 InstdAgt: type: object description: >- Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 description: >- Set of characteristics shared by all individual transactions included in the message. IBAN2007Identifier: pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: >- >- International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions. IdentificationSchemeName1Choice: required: - Cd - Prtry type: object properties: Cd: maxLength: 4 minLength: 1 type: string description: >- Name of the identification scheme, in a coded form as published in an external list. Prtry: type: object description: Name of the identification scheme, in a free text form. allOf: - $ref: '#/components/schemas/Max35Text' InstructionForCreditorAgent1: type: object properties: Cd: $ref: '#/components/schemas/Instruction3Code' InstrInf: type: object description: >- Further information complementing the coded instruction or instruction to the creditor's agent that is bilaterally agreed or specific to a user community. allOf: - $ref: '#/components/schemas/Max140Text' Instruction3Code: type: string description: >- Coded information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor's agent.

CHQB: (Ultimate) creditor must be paid by cheque.

HOLD: Amount of money must be held for the (ultimate) creditor, who will call. Pay on identification.

PHOB: Please advise/contact (ultimate) creditor/claimant by phone.

TELB: Please advise/contact (ultimate) creditor/claimant by the most efficient means of telecommunication. enum: - CHQB - HOLD - PHOB - TELB InstructionForNextAgent1: type: object properties: Cd: $ref: '#/components/schemas/Instruction4Code' InstrInf: type: object description: >- Further information complementing the coded instruction or instruction to the next agent that is bilaterally agreed or specific to a user community. allOf: - $ref: '#/components/schemas/Max140Text' Instruction4Code: type: string description: >- Coded information related to the processing of the payment instruction, provided by the initiating party, and intended for the next agent in the payment chain.

PHOA: Please advise/contact next agent by phone.

TELA: Please advise/contact next agent by the most efficient means of telecommunication. enum: - PHOA - TELA ISODate: type: string format: date LocalInstrument2Choice: type: object properties: Cd: type: object description: >- Specifies the local instrument, as published in an external local instrument code list. allOf: - $ref: '#/components/schemas/Max35Text' Prtry: type: object description: Specifies the local instrument, as a proprietary code. allOf: - $ref: '#/components/schemas/Max35Text' description: >- User community specific instrument. Either the `code` or the `proprietary` parameter should be passed in the request . MandateRelatedInformation14: type: object properties: MndtId: type: object description: >- Unique identification, as assigned by the creditor, to identify the mandate. allOf: - $ref: '#/components/schemas/Max35Text' DtOfSgntr: type: string description: >- Date on which the direct debit mandate has been signed by the debtor. format: date AmdmntInd: type: boolean description: >- Indicator notifying whether the underlying mandate is amended or not. AmdmntInfDtls: $ref: '#/components/schemas/AmendmentInformationDetails13' ElctrncSgntr: maxLength: 1025 minLength: 1 type: string description: >- Additional security provisions, such as a digital signature, as provided by the debtor. FrstColltnDt: type: string description: Date of the first collection of a direct debit as per the mandate. format: date FnlColltnDt: type: string description: Date of the final collection of a direct debit as per the mandate. format: date Frqcy: $ref: '#/components/schemas/Frequency36Choice' Rsn: $ref: '#/components/schemas/MandateSetupReason1Choice' TrckgDays: pattern: '[0-9]{2}' type: string description: >- Specifies the number of days the direct debit instruction must be tracked. description: >- Provides further details of the mandate signed between the creditor and the debtor. MandateSetupReason1Choice: type: object properties: Cd: type: object description: >- Specifies the external mandate setup reason code in the format of character string with a maximum length of 4 characters. External code sets can be downloaded from www.iso20022.org. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: Specifies the external mandate setup reason, as a proprietary code. allOf: - $ref: '#/components/schemas/Max70Text' description: >- Reason for the direct debit mandate to allow the user to distinguish between different mandates for the same creditor. Either the `code` or the `proprietary` parameter should be passed in the request . Max10Text: maxLength: 10 minLength: 1 type: string Max140Text: maxLength: 140 minLength: 1 type: string Max15NumericText: pattern: '[0-9]{1,15}' type: string Max16Text: maxLength: 16 minLength: 1 type: string Max2048Text: maxLength: 2048 minLength: 1 type: string Max34Text: maxLength: 34 minLength: 1 type: string Max35Text: maxLength: 35 minLength: 1 type: string Max4Text: maxLength: 4 minLength: 1 type: string Max70Text: maxLength: 70 minLength: 1 type: string Max105Text: maxLength: 105 minLength: 1 type: string NameAndAddress16: required: - Adr - Nm type: object properties: Adr: $ref: '#/components/schemas/PostalAddress24' Nm: type: object description: >- Name by which a party is known and is usually used to identify that party. allOf: - $ref: '#/components/schemas/Max140Text' NamePrefix2Code: type: string description: >- Specifies the terms used to formally address a person.

DOCT: Title of the person is Doctor or Dr.

MIST: Title of the person is Mister or Mr.

MISS: Title of the person is Miss.

MADM: Title of the person is Madam.

MIKS: Title of the person is gender neutral (Mx). enum: - DOCT - MIST - MISS - MADM - MIKS Number: maxLength: 18 type: number NumberOfTransactionsPerStatus5: required: - DtldNbOfTxs - DtldSts type: object properties: DtldNbOfTxs: type: object description: >- Number of individual transactions contained in the message, detailed per status. allOf: - $ref: '#/components/schemas/Max15NumericText' DtldCtrlSum: maxLength: 18 type: string description: >- Total of all individual amounts included in the message, irrespective of currencies, detailed per status. The number of fractional digits in the amount should not be more than 17 DtldSts: type: object description: Common transaction status for all individual transactions reported. allOf: - $ref: '#/components/schemas/Max4Text' OrganisationIdentification29: type: object properties: AnyBIC: pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' 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)". Othr: type: array description: >- Unique identification of an organization, as assigned by an institution, using an identification scheme. items: $ref: '#/components/schemas/GenericOrganisationIdentification1' LEI: pattern: '[A-Z0-9]{18,18}[0-9]{2,2}' type: string description: >- Legal entity identification as an alternate identification for a party. description: Unique way to identify an organization. OriginalGroupHeader17: required: - OrgnlMsgId - OrgnlMsgNmId type: object properties: OrgnlMsgId: type: object description: >- Point to point reference, as assigned by the original instructing party, to identify the original message. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlMsgNmId: type: object description: >- Specifies the original message name identifier to which the message refers. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlCreDtTm: type: string description: Date and time at which the original message was created. format: date-time OrgnlNbOfTxs: type: object description: Number of individual transactions contained in the original message. allOf: - $ref: '#/components/schemas/Max15NumericText' OrgnlCtrlSum: maxLength: 18 type: string description: >- Total of all individual amounts included in the original message, irrespective of currencies. The number of fractional digits in the amount should not be more than 17. GrpSts: type: object description: >- Specifies the status of a group of transactions, as published in an external payment group status code set. External code sets can be downloaded from www.iso20022.org. allOf: - $ref: '#/components/schemas/Max4Text' StsRsnInf: type: array description: Provides detailed information on the status reason. items: $ref: '#/components/schemas/StatusReasonInformation12' NbOfTxsPerSts: type: array description: >- Detailed information on the number of transactions for each identical transaction status. items: $ref: '#/components/schemas/NumberOfTransactionsPerStatus5' OriginalGroupInformation29: required: - OrgnlMsgId - OrgnlMsgNmId type: object properties: OrgnlMsgId: type: object description: >- Point to point reference, as assigned by the original instructing party, to identify the original message. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlMsgNmId: type: object description: >- Specifies the original message name identifier to which the message refers, for example, pacs.003.001.01 or MT103. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlCreDtTm: type: string description: Date and time at which the original message was created. format: date-time description: >- Original group information concerning the group of transactions, to which the status report message refers to. OriginalTransactionReference28: type: object properties: IntrBkSttlmAmt: type: object description: >- Amount of money moved between the instructing agent and the instructed agent. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' Amt: $ref: '#/components/schemas/AmountType4Choice' IntrBkSttlmDt: type: string description: >- Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due. format: date ReqdColltnDt: type: string description: >- Date and time at which the creditor requests that the amount of money is to be collected from the debtor. format: date ReqdExctnDt: type: object description: >- Date at which the initiating party requests the clearing agent to process the payment. Either Dt or DtTm field value should be passed in the request . allOf: - $ref: '#/components/schemas/DateAndDateTime2Choice' CdtrSchmeId: type: object description: Credit party that signs the mandate. allOf: - $ref: '#/components/schemas/PartyIdentification135' SttlmInf: $ref: '#/components/schemas/SettlementInstruction7' PmtTpInf: $ref: '#/components/schemas/PaymentTypeInformation27' PmtMtd: $ref: '#/components/schemas/PaymentMethod4Code' MndtRltdInf: $ref: '#/components/schemas/MandateRelatedInformation14' RmtInf: type: object description: >- Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system. allOf: - $ref: '#/components/schemas/RemittanceInformation16' UltmtDbtr: type: object description: >- Ultimate party that owes an amount of money to the (ultimate) creditor. One of the 2 field values(Pty/Agt) should be passed in the request . allOf: - $ref: '#/components/schemas/Party40Choice' Dbtr: type: object description: >- Party that owes an amount of money to the creditor. One of the 2 field values(Pty/Agt) should be passed in the request . allOf: - $ref: '#/components/schemas/Party40Choice' DbtrAcct: type: object description: >- Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. allOf: - $ref: '#/components/schemas/CashAccount38' DbtrAgt: type: object description: Financial institution servicing an account for the debtor. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 DbtrAgtAcct: type: object description: >- Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' CdtrAgt: type: object description: Financial institution servicing an account for the creditor. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 CdtrAgtAcct: type: object description: >- Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit entry will be made as a result of the payment transaction. allOf: - $ref: '#/components/schemas/CashAccount38' Cdtr: type: object description: >- Party to which an amount of money is due. One of the 2 field values(Pty/Agt) should be passed in the request . allOf: - $ref: '#/components/schemas/Party40Choice' CdtrAcct: type: object description: >- Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction. allOf: - $ref: '#/components/schemas/CashAccount38' UltmtCdtr: type: object description: >- Ultimate party to which an amount of money is due. One of the 2 field values(Pty/Agt) should be passed in the request . allOf: - $ref: '#/components/schemas/Party40Choice' Purp: $ref: '#/components/schemas/Purpose2Choice' OtherContact1: required: - ChanlTp type: object properties: ChanlTp: type: object description: >- Method used to contact the financial institution’s contact for the specific tax region. allOf: - $ref: '#/components/schemas/Max4Text' Id: maxLength: 128 minLength: 1 type: string description: Communication value such as phone number or email address. Party40Choice: type: object properties: Pty: type: object description: Specifies the identification of a person or an organization. allOf: - $ref: '#/components/schemas/PartyIdentification135' Agt: type: object description: >- Unique identification of a financial institution or a branch of a financial institution. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 PartyIdentification135: type: object properties: Nm: type: object description: >- Name by which a party is known and which is usually used to identify that party. allOf: - $ref: '#/components/schemas/Max140Text' PstlAdr: $ref: '#/components/schemas/PostalAddress24' Id: type: object properties: OrgId: $ref: '#/components/schemas/OrganisationIdentification29' PrvtId: $ref: '#/components/schemas/PersonIdentification13' description: >- Unique identification of a party. Should pass either OrgId or PrvtId for organization and private respectively in the request. CtryOfRes: type: object description: >- Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed. allOf: - $ref: '#/components/schemas/CountryCode' CtctDtls: $ref: '#/components/schemas/Contact4' PaymentIdentification7: required: - EndToEndId type: object properties: EndToEndId: type: object description: >- Unique identification, as assigned by the initiating party, to identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. allOf: - $ref: '#/components/schemas/Max35Text' InstrId: type: object description: >- Unique identification as assigned by an instructing party for an instructed party to identify the instruction. allOf: - $ref: '#/components/schemas/Max35Text' TxId: type: object description: >- Unique identification, as assigned by the first instructing agent, to identify the transaction that is passed on, unchanged, throughout the entire interbank chain. allOf: - $ref: '#/components/schemas/Max35Text' UETR: pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}' type: string description: >- Universally unique identifier to provide an end-to-end reference of a payment transaction. ClrSysRef: type: object description: >- Unique reference, as assigned by a clearing system, to identify the instruction. allOf: - $ref: '#/components/schemas/Max35Text' description: Set of elements used to reference a payment instruction. PaymentTransaction110: type: object properties: StsId: type: object description: >- Unique identification, as assigned by an instructing party for an instructed party, to identify the reported status. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlGrpInf: $ref: '#/components/schemas/OriginalGroupInformation29' OrgnlInstrId: type: object description: >- Unique identification, as assigned by the original instructing party for the original instructed party, to identify the original instruction. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlEndToEndId: type: object description: >- Unique identification, as assigned by the original initiating party, to identify the original transaction. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlTxId: type: object description: >- Unique identification, as assigned by the original first instructing agent, to identify the transaction. allOf: - $ref: '#/components/schemas/Max35Text' OrgnlUETR: pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}' type: string description: >- Universally unique identifier to provide the original end-to-end reference of a payment transaction. TxSts: type: object description: Specifies the status of a transaction, in a coded form. allOf: - $ref: '#/components/schemas/Max4Text' StsRsnInf: type: array description: Provides detailed information on the status reason. items: $ref: '#/components/schemas/StatusReasonInformation12' ChrgsInf: type: array description: >- Provides information on the charges related to the processing of the rejection of the instruction. items: $ref: '#/components/schemas/Charges7' AccptncDtTm: type: string description: >- Point in time when the payment order from the initiating party meets the processing conditions of the account servicing agent. This means that the account servicing agent has received the payment order and has applied checks such as authorisation, availability of funds. format: date-time FctvIntrBkSttlmDt: $ref: '#/components/schemas/DateAndDateTime2Choice' AcctSvcrRef: type: object description: >- Unique reference, as assigned by the account servicing institution, to identify the instruction. allOf: - $ref: '#/components/schemas/Max35Text' ClrSysRef: type: object description: >- Unique reference, as assigned by a clearing system, to identify the instruction. allOf: - $ref: '#/components/schemas/Max35Text' InstgAgt: type: object description: >- Agent that instructs the next party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 InstdAgt: type: object description: >- Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s). allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 OrgnlTxRef: $ref: '#/components/schemas/OriginalTransactionReference28' SplmtryData: type: array description: >- Additional information that can not be captured in the structured fields and/or any other specific block. items: $ref: '#/components/schemas/SupplementaryData1' PaymentMethod4Code: type: string description: >- Specifies the means of payment that will be used to move the amount of money.

CHK: Written order to a bank to pay a certain amount of money from one person to another person.

TRF: Transfer of an amount of money in the books of the account servicer.

DD: Collection of an amount of money from the debtor's bank account by the creditor. The amount of money and dates of collections may vary.

TRA: Transfer of an amount of money in the books of the account servicer. An advice should be sent back to the account owner. enum: - CHK - TRF - DD - TRA PaymentTypeInformation27: type: object properties: CtgyPurp: $ref: '#/components/schemas/CategoryPurpose1Choice' InstrPrty: $ref: '#/components/schemas/Priority2Code' LclInstrm: $ref: '#/components/schemas/LocalInstrument2Choice' SvcLvl: type: array description: >- Agreement under which or rules under which the transaction should be processed. items: $ref: '#/components/schemas/ServiceLevel8Choice' SeqTp: $ref: '#/components/schemas/SequenceType3Code' ClrChanl: $ref: '#/components/schemas/ClearingChannel2Code' description: Set of elements used to further specify the type of transaction. PaymentTypeInformation28: type: object properties: CtgyPurp: $ref: '#/components/schemas/CategoryPurpose1Choice' InstrPrty: $ref: '#/components/schemas/Priority2Code' LclInstrm: $ref: '#/components/schemas/LocalInstrument2Choice' SvcLvl: type: array items: $ref: '#/components/schemas/ServiceLevel8Choice' ClrChanl: $ref: '#/components/schemas/ClearingChannel2Code' description: Set of elements used to further specify the type of transaction. PersonIdentification13: type: object properties: DtAndPlcOfBirth: $ref: '#/components/schemas/DateAndPlaceOfBirth' Othr: type: array description: >- Unique identification of a person, as assigned by an institution, using an identification scheme. items: $ref: '#/components/schemas/GenericPersonIdentification1' description: Unique way to identify a person. PhoneNumber: pattern: \+[0-9]{1,3}-[0-9()+\-]{1,30} type: string PostalAddress24: type: object properties: AdrTp: $ref: '#/components/schemas/AddressType3Choice' Dept: type: object description: Identification of a division of a large organization or building. allOf: - $ref: '#/components/schemas/Max70Text' SubDept: type: object description: >- Identification of a sub-division of a large organization or building. allOf: - $ref: '#/components/schemas/Max70Text' StrtNm: type: object description: Name of a street or thoroughfare. allOf: - $ref: '#/components/schemas/Max70Text' BldgNb: type: object description: Number that identifies the position of a building on a street. allOf: - $ref: '#/components/schemas/Max16Text' BldgNm: type: object description: Name of the building or house. allOf: - $ref: '#/components/schemas/Max35Text' Flr: type: object description: Floor or storey within a building. allOf: - $ref: '#/components/schemas/Max70Text' PstBx: type: object description: >- Numbered box in a post office, assigned to a person or organization, where letters are kept until called for. allOf: - $ref: '#/components/schemas/Max16Text' Room: type: object description: Building room number. allOf: - $ref: '#/components/schemas/Max70Text' PstCd: type: object description: >- Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. allOf: - $ref: '#/components/schemas/Max16Text' TwnNm: type: object description: >- Name of a built-up area, with defined boundaries, and a local government. allOf: - $ref: '#/components/schemas/Max35Text' TwnLctnNm: type: object description: Specific location name within the town. allOf: - $ref: '#/components/schemas/Max35Text' DstrctNm: type: object description: Identifies a subdivision within a country sub-division. allOf: - $ref: '#/components/schemas/Max35Text' CtrySubDvsn: type: object description: Identifies a subdivision of a country such as state, region, county. allOf: - $ref: '#/components/schemas/Max35Text' Ctry: $ref: '#/components/schemas/CountryCode' AdrLine: maxItems: 7 type: array description: >- Information that locates and identifies a specific address, as defined by postal services, presented in free format text. items: $ref: '#/components/schemas/Max70Text' description: >- Information that locates and identifies a specific address, as defined by postal services. PreferredContactMethod1Code: type: string description: >- Preferred method used to reach the contact.

LETT: Preferred method used to reach the contact is per letter.

MAIL: Preferred method used to reach the contact is per email.

PHON: Preferred method used to reach the contact is per phone.

FAXX: Preferred method used to reach the contact is per fax.

CELL: Preferred method used to reach the contact is per mobile or cell phone. enum: - LETT - MAIL - PHON - FAXX - CELL Priority2Code: type: string description: >- Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.

HIGH: Priority level is high.

NORM: Priority level is normal. enum: - HIGH - NORM Priority3Code: type: string description: >- Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.

URGT: Priority level is urgent (highest priority possible).

HIGH: Priority level is high.

NORM: Priority level is normal. enum: - URGT - HIGH - NORM ProxyAccountIdentification1: required: - Id type: object properties: Tp: $ref: '#/components/schemas/ProxyAccountType1Choice' Id: type: object description: >- Identification used to indicate the account identification under another specified name. allOf: - $ref: '#/components/schemas/Max2048Text' description: >- Specifies an alternate assumed name for the identification of the account. ProxyAccountType1Choice: type: object properties: Cd: maxLength: 4 minLength: 1 type: string description: >- Specifies the external proxy account type code, as published in the proxy account type external code set. External code sets can be downloaded from www.iso20022.org. Prtry: type: object description: External proxy account type, in a free text form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Type of the proxy identification. Either the `code` or the `proprietary` parameter should be passed in the request . Purpose2Choice: type: object properties: Cd: maxLength: 4 minLength: 1 type: string description: >- Underlying reason for the payment transaction, as published in an external purpose code list. Prtry: type: object description: Purpose, in a proprietary form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specifies the underlying reason for the payment transaction. Either Code or Proprietary field value should be passed on request. ReferredDocumentInformation7: type: object properties: Nb: type: object description: Unique identification of the referred document. allOf: - $ref: '#/components/schemas/Max35Text' RltdDt: type: object description: Date associated with the referred document. allOf: - $ref: '#/components/schemas/ISODate' Tp: $ref: '#/components/schemas/ReferredDocumentType4' LineDtls: type: array description: >- Set of elements used to provide the content of the referred document line. items: $ref: '#/components/schemas/DocumentLineInformation1' ReferredDocumentType1Choice: type: object properties: Cd: $ref: '#/components/schemas/DocumentType6Code' Prtry: type: object description: Proprietary identification of the type of the remittance document. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Provides the type details of the referred document. Either Code or Proprietary field value should be passed on request. ReferredDocumentType4: required: - CdOrPrtry type: object properties: CdOrPrtry: $ref: '#/components/schemas/ReferredDocumentType1Choice' Issr: type: object description: Identification of the issuer of the reference document type. allOf: - $ref: '#/components/schemas/Max35Text' description: Specifies the type of referred document. RegulatoryReporting3: type: object properties: Authrty: type: object properties: Ctry: type: object description: >- Country of the entity that requires the regulatory reporting information. allOf: - $ref: '#/components/schemas/CountryCode' Nm: type: object description: >- Name of the entity requiring the regulatory reporting information. allOf: - $ref: '#/components/schemas/Max140Text' description: Entity requiring the regulatory reporting information. DbtCdtRptgInd: type: string description: >- Identifies whether the regulatory reporting information applies to the debit side, to the credit side or to both debit and credit sides of the transaction.

CRED: Regulatory information applies to the credit side.

DEBT: Regulatory information applies to the debit side.

BOTH: Regulatory information applies to both credit and debit sides. enum: - CRED - DEBT - BOTH Dtls: type: array description: >- Set of elements used to provide details on the regulatory reporting information. items: $ref: '#/components/schemas/StructuredRegulatoryReporting3' RemittanceAmount2: type: object properties: DuePyblAmt: type: object description: >- Amount specified is the exact amount due and payable to the creditor. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' DscntApldAmt: type: array description: >- Amount specified for the referred document is the amount of discount to be applied to the amount due and payable to the creditor. items: $ref: '#/components/schemas/DiscountAmountAndType1' CdtNoteAmt: type: object description: >- Amount specified for the referred document is the amount of a credit note. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' TaxAmt: type: array description: Quantity of cash resulting from the calculation of the tax. items: $ref: '#/components/schemas/TaxAmountAndType1' AdjstmntAmtAndRsn: type: array description: >- Specifies detailed information on the amount and reason of the document adjustment. items: $ref: '#/components/schemas/DocumentAdjustment1' RmtdAmt: type: object description: Amount of money remitted for the referred document. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' description: Provides details on the amounts of the referred document. RemittanceAmount3: type: object properties: DuePyblAmt: type: object description: >- Amount specified is the exact amount due and payable to the creditor. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' DscntApldAmt: type: array description: >- Amount of discount to be applied to the amount due and payable to the creditor. items: $ref: '#/components/schemas/DiscountAmountAndType1' CdtNoteAmt: type: object description: Amount of a credit note. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' TaxAmt: type: array description: Amount of the tax. items: $ref: '#/components/schemas/TaxAmountAndType1' AdjstmntAmtAndRsn: type: array description: >- Set of elements used to provide information on the amount and reason of the document adjustment. items: $ref: '#/components/schemas/DocumentAdjustment1' RmtdAmt: type: object description: Amount of money remitted. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' description: Provides details on the amounts of the document line. RemittanceInformation16: type: object properties: Strd: type: array description: >- Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form. items: $ref: '#/components/schemas/StructuredRemittanceInformation16' Ustrd: type: array description: >- Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form. items: $ref: '#/components/schemas/Max140Text' RemittanceLocation7: type: object properties: RmtId: type: object description: >- Unique identification, as assigned by the initiating party, to identify the remittance information sent separately from the payment instruction, such as a remittance advice. allOf: - $ref: '#/components/schemas/Max35Text' RmtLctnDtls: type: array description: >- Set of elements used to provide information on the location and/or delivery of the remittance information. items: $ref: '#/components/schemas/RemittanceLocationData1' RemittanceLocationData1: required: - Mtd type: object properties: ElctrncAdr: type: object description: >- Electronic address to which an agent is to send the remittance information. allOf: - $ref: '#/components/schemas/Max2048Text' Mtd: type: string description: >- Method used to deliver the remittance advice information.

FAXI: Remittance advice information must be faxed.

EDIC: Remittance advice information must be sent through Electronic Data Interchange (EDI).

URID: Remittance advice information needs to be sent to a Uniform Resource Identifier (URI). URI is a compact string of characters that uniquely identify an abstract or physical resource. URI's are the super-set of identifiers, such as URLs, email addresses, ftp sites, etc, and as such, provide the syntax for all of the identification schemes.

EMAL: Remittance advice information must be sent through e-mail.

POST: Remittance advice information must be sent through postal services.

SMSM: Remittance advice information must be sent through by phone as a short message service (SMS). enum: - FAXI - EDIC - URID - EMAL - POST - SMSM PstlAdr: type: object description: >- Postal address to which an agent is to send the remittance information. allOf: - $ref: '#/components/schemas/NameAndAddress16' SequenceType3Code: type: string description: >- Identifies the direct debit sequence, such as first, recurrent, final, one-off, or previously reversed.

FRST: First collection of a series of direct debit instructions.

RCUR: Direct debit instruction where the debtor's authorisation is used for regular direct debit transactions initiated by the creditor.

FNAL: Final collection of a series of direct debit instructions.

OOFF: Direct debit instruction where the debtor's authorisation is used to initiate one single direct debit transaction.

RPRE: Collection used to re-present previously reversed or returned direct debit transactions. enum: - FRST - RCUR - FNAL - OOFF - RPRE ServiceLevel8Choice: type: object properties: Cd: type: object description: >- Specifies a pre-agreed service or level of service between the parties, as published in an external service level code list. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: >- Specifies a pre-agreed service or level of service between the parties, as a proprietary code. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Agreement under which or rules under which the transaction should be processed. Either code or proprietary field values should be sent in the request . SettlementInstruction7: required: - SttlmMtd type: object properties: SttlmMtd: $ref: '#/components/schemas/SettlementMethod1Code' SttlmAcct: type: object description: >- A specific purpose account used to post debit and credit entries as a result of the transaction. allOf: - $ref: '#/components/schemas/CashAccount38' ClrSys: $ref: '#/components/schemas/ClearingSystemIdentification3Choice' InstgRmbrsmntAgt: type: object description: >- Agent through which the instructing agent will reimburse the instructed agent. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 InstgRmbrsmntAgtAcct: type: object description: >- Unambiguous identification of the account of the instructing reimbursement agent account at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' InstdRmbrsmntAgt: type: object description: Agent at which the instructed agent will be reimbursed. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 InstdRmbrsmntAgtAcct: type: object description: >- Unambiguous identification of the account of the instructed reimbursement agent account at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' ThrdRmbrsmntAgt: type: object description: Agent at which the instructed agent will be reimbursed. allOf: - $ref: >- #/components/schemas/BranchAndFinancialInstitutionIdentification6 ThrdRmbrsmntAgtAcct: type: object description: >- Unambiguous identification of the account of the third reimbursement agent account at its servicing agent in the payment chain. allOf: - $ref: '#/components/schemas/CashAccount38' description: >- Specifies the details on how the settlement of the original transaction(s) between the instructing agent and the instructed agent was completed. SettlementMethod1Code: type: string description: >- Method used to settle the (batch of) payment instructions.

INDA: Settlement is done by the agent instructed to execute a payment instruction.

INGA: Settlement is done by the agent instructing and forwarding the payment to the next party in the payment chain.

COVE: Settlement is done through a cover payment.

CLRG: Settlement is done through a payment clearing system. enum: - INDA - INGA - COVE - CLRG StructuredRegulatoryReporting3: type: object properties: Amt: type: object description: >- Amount of money to be reported for regulatory and statutory requirements. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' Cd: type: object description: >- Specifies the nature, purpose, and reason for the transaction to be reported for regulatory and statutory requirements in a coded form. allOf: - $ref: '#/components/schemas/Max10Text' Ctry: type: object description: >- Country related to the specified type of regulatory reporting details. allOf: - $ref: '#/components/schemas/CountryCode' Dt: type: object description: Date related to the specified type of regulatory reporting details. allOf: - $ref: '#/components/schemas/ISODate' Inf: type: array description: >- Additional details that cater for specific domestic regulatory requirements. items: $ref: '#/components/schemas/Max35Text' Tp: type: object description: >- Specifies the type of the information supplied in the regulatory reporting details. allOf: - $ref: '#/components/schemas/Max35Text' StructuredRemittanceInformation16: type: object properties: AddtlRmtInf: maxItems: 3 type: array description: >- Additional information, in free text form, to complement the structured remittance information. items: $ref: '#/components/schemas/Max140Text' CdtrRefInf: $ref: '#/components/schemas/CreditorReferenceInformation2' Invcee: type: object description: >- Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor. allOf: - $ref: '#/components/schemas/PartyIdentification135' Invcr: type: object description: >- Identification of the organization issuing the invoice, when it is different from the creditor or ultimate creditor. allOf: - $ref: '#/components/schemas/PartyIdentification135' RfrdDocAmt: $ref: '#/components/schemas/RemittanceAmount2' RfrdDocInf: type: array description: >- Provides the identification and the content of the referred document. items: $ref: '#/components/schemas/ReferredDocumentInformation7' TaxRmt: $ref: '#/components/schemas/TaxInformation7' GrnshmtRmt: $ref: '#/components/schemas/Garnishment3' StatusReasonInformation12: type: object properties: Orgtr: type: object description: Party that issues the status. allOf: - $ref: '#/components/schemas/PartyIdentification135' Rsn: $ref: '#/components/schemas/StatusReason6Choice' AddtlInf: type: array description: Further details on the status reason. items: $ref: '#/components/schemas/Max105Text' StatusReason6Choice: type: object properties: Cd: type: object description: >- Specifies the status reason, as published in an external status reason code list. External code sets can be downloaded from www.iso20022.org. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: Reason for the status, in a proprietary form. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specifies the reason for the status report. Either Code or Proprietary field value should be passed on request. SupplementaryData1: required: - Envlp type: object properties: PlcAndNm: maxLength: 350 minLength: 1 type: string description: >- Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. Envlp: type: string description: Technical element wrapping the supplementary data. TaxAmount2: type: object properties: Dtls: type: array description: >- Set of elements used to provide details on the tax period and amount. items: $ref: '#/components/schemas/TaxRecordDetails2' Rate: maxLength: 11 type: string description: >- Rate used to calculate the tax. The number of fractional digits in the rate should not be more than 10. TaxblBaseAmt: type: object description: Amount of money on which the tax is based. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' TtlAmt: type: object description: >- Total amount that is the result of the calculation of the tax for the record. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' description: >- Set of elements used to provide information on the amount of the tax record. TaxAmountAndType1: required: - Amt type: object properties: Tp: $ref: '#/components/schemas/TaxAmountType1Choice' Amt: type: object description: Amount of money, which has been typed. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' TaxAmountType1Choice: type: object properties: Cd: type: object description: >- Specifies the nature, or use, of the amount 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. allOf: - $ref: '#/components/schemas/Max4Text' Prtry: type: object description: Specifies type of amount, as a proprietary code. allOf: - $ref: '#/components/schemas/Max35Text' description: >- Specifies the type of the amount. Either the `code` or the `proprietary` parameter should be passed in the request . TaxAuthorisation1: type: object properties: Nm: type: object description: Name of the debtor or the debtor's authorized representative. allOf: - $ref: '#/components/schemas/Max140Text' Titl: type: object description: >- Title or position of debtor or the debtor's authorized representative. allOf: - $ref: '#/components/schemas/Max35Text' description: Details of the authorized tax paying party. TaxInformation7: type: object properties: Cdtr: $ref: '#/components/schemas/TaxParty1' Dbtr: $ref: '#/components/schemas/TaxParty2' UltmtDbtr: type: object description: >- Ultimate party that owes an amount of money to the (ultimate) creditor, in this case, to the taxing authority. allOf: - $ref: '#/components/schemas/TaxParty2' AdmstnZone: type: object description: Territorial part of a country to which the tax payment is related. allOf: - $ref: '#/components/schemas/Max35Text' RefNb: type: object description: Tax reference information that is specific to a taxing agency. allOf: - $ref: '#/components/schemas/Max140Text' Mtd: type: object description: >- Method used to indicate the underlying business or how the tax is paid. allOf: - $ref: '#/components/schemas/Max35Text' TtlTaxblBaseAmt: type: object description: Total amount of money on which the tax is based. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' TtlTaxAmt: type: object description: Total amount of money as result of the calculation of the tax. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' Dt: type: object description: Date by which tax is due. allOf: - $ref: '#/components/schemas/ISODate' SeqNb: type: object description: Sequential number of the tax report. allOf: - $ref: '#/components/schemas/Number' Rcrd: type: array description: Record of tax details. items: $ref: '#/components/schemas/TaxRecord2' description: >- Provides remittance information about a payment made for tax-related purposes. TaxInformation8: type: object properties: Cdtr: $ref: '#/components/schemas/TaxParty1' Dbtr: $ref: '#/components/schemas/TaxParty2' AdmstnZone: type: object description: Territorial part of a country to which the tax payment is related. allOf: - $ref: '#/components/schemas/Max35Text' RefNb: type: object description: Tax reference information that is specific to a taxing agency. allOf: - $ref: '#/components/schemas/Max140Text' Mtd: type: object description: >- Method used to indicate the underlying business or how the tax is paid. allOf: - $ref: '#/components/schemas/Max35Text' TtlTaxblBaseAmt: type: object description: Total amount of money on which the tax is based. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' TtlTaxAmt: type: object description: Total amount of money as result of the calculation of the tax. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' Dt: type: object description: Date by which tax is due. allOf: - $ref: '#/components/schemas/ISODate' SeqNb: type: object description: Sequential number of the tax report. allOf: - $ref: '#/components/schemas/Number' Rcrd: type: array description: Record of tax details. items: $ref: '#/components/schemas/TaxRecord2' description: Set of elements used to provide details on the tax. TaxParty1: type: object properties: RegnId: type: object description: >- Unique identification, as assigned by an organization, to identify a party. allOf: - $ref: '#/components/schemas/Max35Text' TaxId: type: object description: Tax identification number of the creditor. allOf: - $ref: '#/components/schemas/Max35Text' TaxTp: type: object description: Type of tax payer. allOf: - $ref: '#/components/schemas/Max35Text' description: Party on the credit side of the transaction to which the tax applies. TaxParty2: type: object properties: Authstn: $ref: '#/components/schemas/TaxAuthorisation1' RegnId: type: object description: >- Unique identification, as assigned by an organization, to identify a party. allOf: - $ref: '#/components/schemas/Max35Text' TaxId: type: object description: Tax identification number of the debtor. allOf: - $ref: '#/components/schemas/Max35Text' TaxTp: type: object description: Type of tax payer. allOf: - $ref: '#/components/schemas/Max35Text' description: Party on the debit side of the transaction to which the tax applies. TaxPeriod2: type: object properties: FrToDt: $ref: '#/components/schemas/DatePeriodDetails' Tp: $ref: '#/components/schemas/TaxRecordPeriod1Code' Yr: type: object description: Year related to the tax payment. allOf: - $ref: '#/components/schemas/ISODate' description: >- Set of elements used to provide details on the period of time related to the tax payment. TaxRecord2: type: object properties: Tp: type: object description: High level code to identify the type of tax details. allOf: - $ref: '#/components/schemas/Max35Text' Ctgy: type: object description: Specifies the tax code as published by the tax authority. allOf: - $ref: '#/components/schemas/Max35Text' CtgyDtls: type: object description: Provides further details of the category tax code. allOf: - $ref: '#/components/schemas/Max35Text' DbtrSts: type: object description: >- Code provided by local authority to identify the status of the party that has drawn up the settlement document. allOf: - $ref: '#/components/schemas/Max35Text' CertId: type: object description: >- Identification number of the tax report as assigned by the taxing authority. allOf: - $ref: '#/components/schemas/Max35Text' FrmsCd: type: object description: >- Identifies, in a coded form, on which template the tax report is to be provided. allOf: - $ref: '#/components/schemas/Max35Text' Prd: $ref: '#/components/schemas/TaxPeriod2' TaxAmt: $ref: '#/components/schemas/TaxAmount2' AddtlInf: type: object description: Further details of the tax record. allOf: - $ref: '#/components/schemas/Max140Text' TaxRecordDetails2: required: - Amt type: object properties: Amt: type: object description: Underlying tax amount related to the specified period. allOf: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount' Prd: $ref: '#/components/schemas/TaxPeriod2' TaxRecordPeriod1Code: type: string description: >- Identification of the period related to the tax payment.

MM01: Tax is related to the first month of the period.

MM02: Tax is related to the second month of the period.

MM03: Tax is related to the third month of the period.

MM04: Tax is related to the fourth month of the period.

MM05: Tax is related to the fifth month of the period.

MM06: Tax is related to the sixth month of the period.

MM07: Tax is related to the seventh month of the period.

MM08: Tax is related to the eighth month of the period.

MM09: Tax is related to the ninth month of the period.

MM10: Tax is related to the tenth month of the period.

MM11: Tax is related to the eleventh month of the period.

MM12: Tax is related to the twelfth month of the period.

QTR1: Tax is related to the first quarter of the period.

QTR2: Tax is related to the second quarter of the period.

QTR3: Tax is related to the third quarter of the period.

QTR4: Tax is related to the fourth quarter of the period.

HLF1: Tax is related to the first half of the period.

HLF2: Tax is related to the second half of the period. enum: - MM01 - MM02 - MM03 - MM04 - MM05 - MM06 - MM07 - MM08 - MM09 - MM10 - MM11 - MM12 - QTR1 - QTR2 - QTR3 - QTR4 - HLF1 - HLF2 securitySchemes: clientCredentials: type: oauth2 description: >+ All CitiConnect APIs use the oAuth2 authentication scheme, which requires a bearer token to authenticate your API call. The Token URL includes the version of authentication used by this API. See the Citi Authentication API reference for information on requesting a token. flows: clientCredentials: tokenUrl: /authenticationservices/v3/oauth/token scopes: {}