openapi: 3.2.0 info: version: 1.0.2 title: Initiate Payment API description: Initiate Payment API is used to request movement of funds from the debtor account to a creditor contact: email: info@afinis.org url: https://www.afinis.org servers: - url: https://api.asig.org/payments/v1 tags: - name: Initiate Payment paths: /initiate: post: operationId: Initiate Payment tags: - Initiate Payment summary: Initiate Payment description: Initiate Payment responses: '200': description: Payment transactions RCVD content: application/json: schema: $ref: '#/components/schemas/response-200' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/error-400' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/error-401' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/error-403' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/error-404' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/error-405' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/error-406' '415': description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/error-415' '422': description: Unprocessable request content: application/json: schema: $ref: '#/components/schemas/error-422' '500': description: Internal Server error content: application/json: schema: $ref: '#/components/schemas/error-500' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/error-503' security: - APIKeyQueryParam: [] requestBody: content: application/json: schema: type: object required: - creditor - creditorAccount - paymentIdentification - instructedAmount properties: initiatingParty: $ref: '#/components/schemas/party' paymentInformationIdentification: type: string example: 1001ABCUSDO1_20181212 minLength: 1 maxLength: 140 paymentTypeInformation: $ref: '#/components/schemas/paymentTypeInformation' requestedExecutionDate: format: date example: '2018-12-12' minLength: 10 maxLength: 10 settlementTimeIndication: format: date example: '2018-12-12' minLength: 10 maxLength: 10 debtor: $ref: '#/components/schemas/party' debtorAccount: $ref: '#/components/schemas/account' debtorAgent: $ref: '#/components/schemas/agent' ultimateDebtor: $ref: '#/components/schemas/party' intermediaryAgent: $ref: '#/components/schemas/agent' creditor: $ref: '#/components/schemas/party' creditorAccount: $ref: '#/components/schemas/account' creditorAgent: $ref: '#/components/schemas/agent' ultimateCreditor: $ref: '#/components/schemas/party' paymentIdentification: $ref: '#/components/schemas/paymentIdentification' instructedAmount: $ref: '#/components/schemas/amount' chargeBearer: type: string example: SLEV minLength: 4 maxLength: 4 enum: - DEBT - CRED - CHAR - SLEV description: "A programmatic code:\n * DEBT - Charges borne by Debtor\n * CRED - Charges borne by Creditor\n * CHAR - Charges shared\n * SLEV - Charges following Service Level \n" paymentPurpose: type: string example: LOAN minLength: 1 maxLength: 35 relatedRemittanceInformation: $ref: '#/components/schemas/remittanceLocation' remittanceInformation: $ref: '#/components/schemas/remittanceInformation' description: Request movement of funds from the debtor account to a creditor required: true components: schemas: amountAndType: title: AmountAndType type: array items: type: object properties: typeCode: type: string minLength: 1 maxLength: 35 amount: $ref: '#/components/schemas/amount' taxPeriod: title: Period type: object description: Party to which the tax applies. properties: year: type: string minLength: 4 maxLength: 10 type: type: string minLength: 4 maxLength: 4 taxType: type: string minLength: 1 maxLength: 35 fromDate: format: date minLength: 10 maxLength: 10 toDate: format: date minLength: 10 maxLength: 10 errorDetails-400: title: Error 400 - Bad Request - Details type: object properties: errorCode: description: "A programmatic error code:\n * `2000` - Invalid JSON structure.\n * `2001` - '[Field name] is missing or invalid.'\n * `2002` - Invalid date.\n * `2003` - Invalid combination of fields submitted. Check the API specification for eligible combinations. \n * `2004` - '[Field name] cannot be more than [max number] characters.'\n * `2005` - Insufficient information for ACH\n * `2006` - Insufficient information for Wire\n * `2007` - Insufficient information for Instant \n" example: 2000 type: number enum: - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 message: description: A human readable description of the problem example: Invalid JSON structure. type: string error-401: title: Error 401 - Unauthorized description: Authentication failed or user doesn’t have permissions for requested operation type: object properties: details: description: error details type: array items: $ref: '#/components/schemas/errorDetails-401' error-405: title: Error 405 - Method Not Allowed description: The request method is known by the server but has been disabled and cannot be used. type: object required: - errorCode - message properties: errorCode: example: 405 type: number enum: - 405 description: "A programmatic error code:\n * `405` - Method Not Allowed\n" message: description: A human readable description of the problem example: Method Not Allowed type: string party: title: Party type: object description: Identification of a person or an organisation properties: name: type: string example: Company ABC minLength: 1 maxLength: 140 identification: type: string example: '1234567891' minLength: 1 maxLength: 35 identificationCode: type: string example: CBID minLength: 4 maxLength: 4 enum: - BANK - CBID - CHID - CINC - COID - CUST - DUNS - EMPL - GS1G - SREN - SRET - TXID - BDID - BOID - ARNU - CCPT - DRLC - NIDN - SOSE - TELE description: "A programmatic code:\n * `BANK - Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client. \n * `CBID - A unique identification number assigned by a central bank to identify an organisation.\n * `CHID - A unique identification number assigned by a clearing house to identify an organisation\n * `CINC - A unique identification number assigned by a designated authority to a certificate of incorporation and used to identify an organisation.\n * `COID - Country authority given organisation identification (e.g., corporate registration number)\n * `DUNS - A unique identification number provided by Dun & Bradstreet to identify an organisation.\n * `GS1G - Global Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules.The number is used to retrieve detailed information that is linked to it.\n * `SREN - The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.\n * `SRET - The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity\n * `ARNU - Number assigned by a social security agency to identify a non-resident person.\n * `CCPT - Number assigned by an authority to identify the passport number of a person.\n * `CUST - Number assigned by an issuer to identify a customer.\n * `DRLC - Number assigned by an authority to identify a driver's license.\n * `EMPL - Number assigned by a registration authority to an employee.\n * `NIDN - Number assigned by an authority to identify the national identity number of a person.\n * `SOSE - Number assigned by an authority to identify the social security number of a person.\n * `TELE - Number assigned by a telephone or mobile phone operator to identify a person. A person may have multiple phone numbers.\n * `TXID - Number assigned by a tax authority to identify a person.\n" identificationCodeIssuer: type: string example: State of Missouri minLength: 1 maxLength: 35 postalAddress: $ref: '#/components/schemas/postalAddress' organisationIdentification: title: OrganisationIdentification type: object description: Identification of an organisation properties: anyBIC: type: string example: NDEAFIHH minLength: 8 maxLength: 11 lei: type: string minLength: 20 maxLength: 20 identification: type: string example: '1234567891' minLength: 1 maxLength: 35 identificationCode: type: string minLength: 4 maxLength: 4 enum: - BANK - CBID - CHID - CINC - COID - CUST - DUNS - EMPL - GS1G - SREN - SRET - TXID - BDID - BOID description: "A programmatic code:\n * BANK - BankPartyIdentification - Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client. \n * CBID - CentralBankIdentificationNumber - A unique identification number assigned by a central bank to identify an organisation.\n * CHID - ClearingIdentificationNumber - A unique identification number assigned by a clearing house to identify an organisation\n * CINC - CertificateOfIncorporationNumber - A unique identification number assigned by a designated authority to a certificate of incorporation and used to identify an organisation.\n * COID - CountryIdentificationCode - Country authority given organisation identification (e.g., corporate registration number)\n * CUST - CustomerNumber - Number assigned by an issuer to identify a customer. Number assigned by a party to identify a creditor or debtor relationship.\"\n * DUNS - DataUniversalNumberingSystem - A unique identification number provided by Dun & Bradstreet to identify an organisation.\n * EMPL - EmployerIdentificationNumber - Number assigned by a registration authority to an employer.\n * GS1G - GS1GLNIdentifier - Global Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules.The number is used to retrieve detailed information that is linked to it.\n * SREN - SIREN - The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.\n * SRET - SIRET - The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity\n * TXID - TaxIdentificationNumber - Number assigned by a tax authority to identify an organisation.\n * BDID - BusinessDomainIdentifier - Identifier of the business domain in which the organisation is active.\n * BOID - BusinessOtherIdentification - Other identification of the organisation.\n" issuer: type: string minLength: 1 maxLength: 35 amountAndReason: title: AdjustmentAmountAndReason type: array items: type: object properties: amount: $ref: '#/components/schemas/amount' creditDebitIndicator: type: string minLength: 4 maxLength: 4 enum: - CRDT - DBIT description: "A programmatic code:\n * `CRDT - Operation is an increase.\n * `DBIT - Operation is a decrease.\n" reason: type: string minLength: 1 maxLength: 4 additionalInformation: type: string minLength: 1 maxLength: 140 remittanceLocation: title: RelatedRemittanceInformation type: object required: - remittanceIdentification - remittanceLocationMethod properties: remittanceIdentification: type: string minLength: 1 maxLength: 35 remittanceLocationMethod: type: string minLength: 4 maxLength: 4 remittanceElectronicAddress: type: string minLength: 1 maxLength: 2048 remittancePostalAddress: $ref: '#/components/schemas/postalAddress' remittancePostalAddressName: type: string minLength: 1 maxLength: 70 paymentIdentification: title: PaymentIdentification type: object required: - instructionIdentification properties: instructionIdentification: description: Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. type: string example: ABC0928 minLength: 1 maxLength: 35 endToEndIdentification: description: Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. type: string example: ABC13609-15-18 minLength: 1 maxLength: 35 uniqueEndToEndTransactionReference: type: string example: 8a562c67-ca16-48ba-b074-65581be6f011 minLength: 36 maxLength: 36 pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}' postalAddress: title: PostalAddress description: Information that locates and identifies a specific address, as defined by postal services. type: object properties: addressType: type: string minLength: 4 maxLength: 4 example: ADDR department: type: string minLength: 1 maxLength: 70 subDepartment: type: string minLength: 1 maxLength: 70 streetName: description: Name of a street or throughfare type: string minLength: 1 maxLength: 140 example: Lexington Street buildingNumber: type: string minLength: 1 maxLength: 16 buildingName: type: string minLength: 1 maxLength: 140 unit: type: string minLength: 1 maxLength: 70 floor: type: string minLength: 1 maxLength: 70 postBox: type: string minLength: 1 maxLength: 16 room: type: string minLength: 1 maxLength: 70 postCode: description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail type: string minLength: 1 maxLength: 11 example: 19801 townName: description: Name of a built-up area, with defined boundaries, and a local government type: string minLength: 1 maxLength: 35 example: Wilmington townLocationName: type: string minLength: 1 maxLength: 35 districtName: type: string minLength: 1 maxLength: 35 countrySubDivision: description: Identifies a subdivision of a country such as state, region, county type: string minLength: 1 maxLength: 35 example: DE country: description: Nation with its own government type: string minLength: 2 maxLength: 2 example: US addressLine: type: string minLength: 1 maxLength: 70 careOf: type: string minLength: 1 maxLength: 140 error-503: title: Error 503 - Service Unavailable description: Service is temporarily unavailable type: object required: - errorCode - message properties: errorCode: example: 503 type: number enum: - 503 description: "A programmatic error code:\n * `503` - Service Unavailable\n" message: description: A human readable description of the problem example: Service is temporarily unavailable. type: string unprocessableRequestErrorDetails: title: Unprocessable request Error Details type: object required: - errorCode - message properties: errorCode: example: 4001 type: number enum: - 4001 description: "A programmatic error code:\n * `4001` - Unprocessable request due to \"%%\"\n" message: description: A human readable description of the problem example: Unprocessable request due to "%%" type: string taxRemittance: title: TaxRemittance type: object description: Provides remittance information about a payment made for tax-related purposes. properties: creditor: $ref: '#/components/schemas/taxParty' debtor: $ref: '#/components/schemas/taxParty' ultimateDebtor: $ref: '#/components/schemas/taxParty' administrationZone: type: string minLength: 1 maxLength: 35 referenceNumber: type: string minLength: 1 maxLength: 140 method: type: string minLength: 1 maxLength: 35 totalTaxableBaseAmount: $ref: '#/components/schemas/amount' totalTaxAmount: $ref: '#/components/schemas/amount' date: format: date minLength: 1 maxLength: 35 sequenceNumber: type: string minLength: 1 maxLength: 35 record: $ref: '#/components/schemas/taxRecord' error-400: title: Error 400 - Bad Request description: The request could not be understood or required parameters were missing type: object properties: details: description: error details type: array items: $ref: '#/components/schemas/errorDetails-400' error-415: title: Error 415 - Unsupported Media Type description: The media format of the requested data is not supported by the server, so the server is rejecting the request. type: object required: - errorCode - message properties: errorCode: example: 415 type: number enum: - 415 description: "A programmatic error code:\n * `415` - Unsupported Media Type\n" message: description: A human readable description of the problem example: Unsupported Media Type type: string lineIdentification: title: lineIdentification type: array items: type: object description: Set of elements used to provide the content of the referred document line. properties: typeCode: type: string minLength: 1 maxLength: 35 typeIssuer: type: string minLength: 1 maxLength: 35 number: type: string minLength: 1 maxLength: 35 relatedDate: format: date example: '2021-08-13' minLength: 10 maxLength: 10 error-403: title: Error 403 - Forbidden description: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401, the client's identity is known to the server. type: object required: - errorCode - message properties: errorCode: example: 403 type: number enum: - 403 description: "A programmatic error code:\n * `403` - Forbidden\n" message: description: A human readable description of the problem example: Forbidden type: string error-500: title: Internal Server Error description: 500 - Internal Server Error type: object required: - details properties: details: description: error details type: array items: $ref: '#/components/schemas/internalServerErrorDetails' remittanceInformation: title: RemittanceInformation 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. type: object properties: unstructured: type: array items: type: string example: Payment for Example Invoice 1234 minLength: 1 maxLength: 140 structured: $ref: '#/components/schemas/structuredRemittanceInformation' error-422: title: Unprocessable request description: 422 - Unprocessable request type: object required: - details properties: details: description: error details type: array items: $ref: '#/components/schemas/unprocessableRequestErrorDetails' privateIdentification: title: PrivateIdentification type: object description: Unique and unambiguous identification of a person, for example a passport. properties: birthDate: format: date example: '1967-08-13' minLength: 10 maxLength: 10 provinceOfBirth: type: string example: Ontario minLength: 1 maxLength: 35 cityOfBirth: type: string example: Toronto minLength: 1 maxLength: 35 countryOfBirth: type: string example: CA minLength: 2 maxLength: 2 identification: type: string example: '1234567891' minLength: 1 maxLength: 35 identificationCode: type: string minLength: 4 maxLength: 4 enum: - ARNU - BANK - CCPT - CUST - DRLC - EMPL - NIDN - SOSE - TELE - TXID - POID description: "A programmatic code:\n * ARNU - AlienRegistrationNumber - Number assigned by a social security agency to identify a non-resident person.\n * BANK - BankPartyIdentification - Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client. \n * CCPT - PassportNumber - Number assigned by an authority to identify the passport number of a person.\n * CUST - CustomerIdentificationNumber - Number assigned by an issuer to identify a customer.\n * DRLC - DriversLicenseNumber - Number assigned by an authority to identify a driver's license.\n * EMPL - EmployeeIdentificationNumber - Number assigned by a registration authority to an employee.\n * NIDN - NationalIdentityNumber - Number assigned by an authority to identify the national identity number of a person.\n * SOSE - SocialSecurityNumber - Number assigned by an authority to identify the social security number of a person.\n * TELE - TelephoneNumber - Number assigned by a telephone or mobile phone operator to identify a person. A person may have multiple phone numbers.\n * TXID - TaxIdentificationNumber - Number assigned by a tax authority to identify a person.\n * POID - PersonCommercialIdentification - Commercial identification of the person.\n" issuer: type: string minLength: 1 maxLength: 35 garnishmentRemittance: title: GarnishmentRemittance type: object description: Provides remittance information about a payment for garnishment-related purposes. properties: typeCode: type: string minLength: 1 maxLength: 35 typeIssuer: type: string minLength: 1 maxLength: 35 garnishee: $ref: '#/components/schemas/remittanceParty' garnishmentAdministrator: $ref: '#/components/schemas/remittanceParty' certificateIdentification: type: string minLength: 1 maxLength: 35 referenceNumber: type: string minLength: 1 maxLength: 140 date: format: date minLength: 10 maxLength: 10 remittedAmount: $ref: '#/components/schemas/amount' familyMedicalInsuranceIndicator: type: boolean employeeTerminationIndicator: type: boolean remittanceParty: title: Party type: object description: Identification of a person or an organisation properties: name: type: string example: Company ABC minLength: 1 maxLength: 140 postalAddress: $ref: '#/components/schemas/postalAddress' organisationIdentification: $ref: '#/components/schemas/organisationIdentification' privateIdentification: $ref: '#/components/schemas/privateIdentification' countryOfResidence: type: string example: CA minLength: 2 maxLength: 2 contactDetails: $ref: '#/components/schemas/contactDetails' contactDetails: title: Party type: object description: Set of elements used to indicate how to contact the party. properties: namePrefix: type: string example: DOCT minLength: 4 maxLength: 4 name: type: string example: John minLength: 1 maxLength: 140 phoneNumber: type: string minLength: 1 maxLength: 30 mobileNumber: type: string minLength: 1 maxLength: 30 faxNumber: type: string minLength: 1 maxLength: 30 emailAddress: type: string minLength: 1 maxLength: 2048 emailPurpose: type: string minLength: 1 maxLength: 35 jobTitle: type: string minLength: 1 maxLength: 35 responsibility: type: string minLength: 1 maxLength: 35 department: type: string minLength: 1 maxLength: 70 channelType: type: string minLength: 1 maxLength: 4 channelTypeIdentification: type: string minLength: 1 maxLength: 128 preferredMethod: type: string minLength: 4 maxLength: 4 amount: title: Amount type: object required: - amount - currency properties: amount: type: number format: float example: 1.01 minimum: 0 maximum: 99999999999 currency: type: string example: USD default: USD minLength: 3 maxLength: 3 taxParty: title: TaxParty type: object description: Party to which the tax applies. properties: taxIdentification: type: string minLength: 1 maxLength: 35 registrationIdentification: type: string minLength: 1 maxLength: 35 taxType: type: string minLength: 1 maxLength: 35 authorisationTitle: type: string minLength: 1 maxLength: 35 authorisationName: type: string minLength: 1 maxLength: 35 lineDetails: title: LineDetails type: array items: type: object description: Set of elements used to provide the content of the referred document line. properties: lineIdentification: $ref: '#/components/schemas/lineIdentification' description: type: string minLength: 1 maxLength: 2048 amount: $ref: '#/components/schemas/remittanceAmount' referredDocumentInformation: title: ReferredDocumentInformation type: array items: type: object description: Provides the identification and the content of the referred document. properties: typeCode: type: string minLength: 1 maxLength: 35 typeIssuer: type: string minLength: 1 maxLength: 35 number: type: string minLength: 1 maxLength: 35 relatedDate: format: date example: '2021-08-13' minLength: 10 maxLength: 10 lineDetails: $ref: '#/components/schemas/lineDetails' paymentTypeInformation: title: PaymentTypeInformation description: Set of elements used to further specify the type of transaction. type: object properties: clearingChannel: type: string example: RTGS minLength: 4 maxLength: 4 enum: - RTGS - MPNS - INST description: "A programmatic code:\n * RTGS - Wires \n * MPNS - ACH\n * INST - Instant \n" localInstrument: type: string example: CCD minLength: 1 maxLength: 35 serviceLevel: type: string minLength: 1 maxLength: 35 sequenceType: type: string example: OOFF minLength: 4 maxLength: 4 enum: - OOFF - RCUR categoryPurpose: type: string example: CONS minLength: 1 maxLength: 35 discretionaryData: type: string minLength: 1 maxLength: 20 structuredRemittanceInformation: title: Structured 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. type: array items: type: object properties: referredDocumentInformation: $ref: '#/components/schemas/referredDocumentInformation' referredDocumentAmount: $ref: '#/components/schemas/remittanceAmount' creditorReferenceInformation: $ref: '#/components/schemas/creditorReferenceInformation' invoicer: $ref: '#/components/schemas/remittanceParty' invoicee: $ref: '#/components/schemas/remittanceParty' taxRemittance: $ref: '#/components/schemas/taxRemittance' garnishmentRemittance: $ref: '#/components/schemas/garnishmentRemittance' additionalRemittanceInformation: type: array items: type: string minLength: 1 maxLength: 140 internalServerErrorDetails: title: Internal Server Error Details type: object required: - errorCode - message properties: errorCode: example: 3001 type: number enum: - 3001 description: "A programmatic error code:\n * `3001` - Internal Server error.\n" message: description: A human readable description of the problem example: Internal Server error type: string errorDetails-401: title: Error 401 - Unauthorized - Details type: object properties: errorCode: example: 1000 type: number enum: - 1000 - 1001 description: "A programmatic error code:\n * `1000` - API key is missing, invalid or expired. \n * `1001` - API token is invalid, expired, or account associated with key does not have access to that API.\n" message: description: A human readable description of the problem example: API key is missing, invalid or expired. type: string required: - errorcode - message response-200: title: InitiatePaymentResponse type: object required: - transactionStatus - callback properties: originalEndToEndIdentification: type: string description: Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction. example: ABC13609-15-18 minLength: 1 maxLength: 35 originalInstructionIdentification: type: string description: Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction. example: CCA14141 minLength: 1 maxLength: 35 accountServicerReference: type: string example: ZZZ00001 minLength: 1 maxLength: 35 originalUniqueEndToEndTransactionReference: type: string example: 8a562c67-ca16-48ba-b074-65581be6f011 minLength: 26 maxLength: 26 pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}' transactionStatus: description: Specifies the status of a transaction, in a coded form. type: string example: RCVD minLength: 1 maxLength: 35 callback: description: Callback URL get transaction status. type: string example: https://api.afinis.org/payments/v1/instant/callback error-406: title: Error 406 - Not Acceptable description: Web server doesn't find any content that conforms to the criteria given by the user agent. type: object required: - errorCode - message properties: errorCode: example: 406 type: number enum: - 406 description: "A programmatic error code:\n * `406` - Not Acceptable\n" message: description: A human readable description of the problem example: Not Acceptable type: string taxRecord: title: Record type: object description: Record of tax details properties: type: type: string minLength: 1 maxLength: 35 category: type: string minLength: 1 maxLength: 35 categoryDetails: type: string minLength: 1 maxLength: 35 debtorStatus: type: string minLength: 1 maxLength: 35 certificateIdentification: type: string minLength: 1 maxLength: 35 formsCode: type: string minLength: 1 maxLength: 35 period: $ref: '#/components/schemas/taxPeriod' taxAmountRate: type: string taxableBaseAmount: $ref: '#/components/schemas/amount' taxTotalAmount: $ref: '#/components/schemas/amount' taxAmountPeriod: $ref: '#/components/schemas/taxPeriod' taxAmount: $ref: '#/components/schemas/amount' additionalInformation: type: array items: type: string minLength: 1 maxLength: 140 agent: description: Identification of a financial institution. type: object required: - memberIdentification properties: clearingSystemIdentification: type: string example: USABA enum: - ATBLZ - AUBSB - CACPA - CHBCC - CHSIC - CNAPS - DEBLZ - ESNCC - GBDSC - GRBIC - HKNCC - IENCC - INFSC - ITNCC - JPZGN - NZNCC - PLKNR - PTNCC - RUCBC - SESBA - SGIBG - THCBC - TWNCC - USABA - USPID - ZANCC - NZRSA - MZBMO - CNCIP description: "A programmatic code:\n * ATBLZ - AustrianBankleitzahl - Bank Branch code used in Austria\n * AUBSB - AustralianBankStateBranchCodeBSB - Bank Branch code used in Australia\n * CACPA - CanadianPaymentsAssociationPaymentRoutingNumber - Bank Branch code used in Canada\n * CHBCC - SwissFinancialInstitutionIdentificationShort - Financial Institution Identification (IID) used in Switzerland, without check digit\n * CHSIC - SwissFinancialInstitutionIdentificationLong - Financial Institution Identification (IID) used in Switzerland, including check digit\n * CNAPS - CNAPSIdentifier - Bank Branch code used in China\n * DEBLZ - GermanBankleitzahl - Bank Branch code used in Germany\n * ESNCC - SpanishDomesticInterbankingCode - Bank Branch code used in Spain\n * GBDSC - UKDomesticSortCode - Bank Branch code used in the UK\n * GRBIC - HelenicBankIdentificationCode - Bank Branch code used in Greece\n * HKNCC - HongKongBankCode - Bank Branch code used in Hong Kong\n * IENCC - IrishNationalClearingCode - Bank Branch code used in Ireland\n * INFSC - IndianFinancialSystemCode - Bank Branch code used in India\n * ITNCC - ItalianDomesticIdentificationCode - Bank Branch code used in Italy\n * JPZGN - JapanZenginClearingCode - Bank Branch code used in Japan\n * NZNCC - NewZealandNationalClearingCode - Bank Branch code used in New Zealand\n * PLKNR - PolishNationalClearingCode - Bank Branch code used in Poland\n * PTNCC - PortugueseNationalClearingCode - Bank Branch code used in Portugal\n * RUCBC - RussianCentralBankIdentificationCode - Bank Branch code used in Russia\n * SESBA - SwedenBankgiroClearingCode - Bank Branch code used in Sweden\n * SGIBG - IBGSortCode - Bank Branch code used in Singapore\n * THCBC - ThaiCentralBankIdentificationCode - Bank Identification code used in Thailand\n * TWNCC - FinancialInstitutionCode - Bank Branch code used in Taiwan\n * USABA - UnitedStatesRoutingNumberFedwireNACHA - Routing Transit number assigned by the ABA for US financial institutons\n * USPID - CHIPSParticipantIdentifier - Bank identifier used by CHIPs in the US\n * ZANCC - SouthAfricanNationalClearingCode - Bank Branch code used in South Africa\n * NZRSA - NewZealandRTGSClearingCode - RTGS settlement account used in New Zealand.\n * MZBMO - BancoDeMocambiqueRTGS - Banco de Mocambique RTGS system.\n * CNCIP - CrossBorderInterbankPaymentSystem - Cross-border Interbank Payment System (CIPS) Identifier.\n" memberIdentification: type: string minLength: 1 maxLength: 35 example: 061103852 name: type: string example: Sample Bank minLength: 1 maxLength: 140 postalAddress: $ref: '#/components/schemas/postalAddress' creditorReferenceInformation: title: CreditorReferenceInformation type: object description: Reference information provided by the creditor to allow the identification of the underlying documents. properties: typeCode: type: string minLength: 1 maxLength: 35 typeIssuer: type: string minLength: 1 maxLength: 35 reference: type: string minLength: 1 maxLength: 35 error-404: title: Error 404 - Not Found description: Resource was not found. type: object required: - errorCode - message properties: errorCode: example: 404 type: number enum: - 404 description: "A programmatic error code:\n * `404` - Resource was not found.\n" message: description: A human readable description of the problem example: Resource was not found. type: string account: title: Account description: Details to identify an account type: object properties: identification: description: Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. type: string example: '111010151' maxLength: 34 identificationCode: type: string example: BBAN minLength: 4 maxLength: 4 enum: - AIIN - BBAN - CUID - UPIC description: "A programmatic code:\n * AIIN - IssuerIdentificationNumber - Issuer Identification Number (IIN) - identifies a card issuing institution in an international interchange environment. Issued by ABA (American Bankers Association).\n * BBAN - BBANIdentifier - Basic Bank Account Number (BBAN) - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer.\n * CUID - CHIPSUniversalIdentifier - (United States) Clearing House Interbank Payments System (CHIPS) Universal Identification (UID) - identifies entities that own accounts at CHIPS participating financial institutions, through which CHIPS payments are effected. The CHIPS UID is assigned by the New York Clearing House.\n * UPIC - UPICIdentifier - Universal Payment Identification Code (UPIC) - identifier used by the New York Clearing House to mask confidential data, such as bank accounts and bank routing numbers. UPIC numbers remain with business customers, regardless of banking relationship changes.\n" type: type: string example: SVGS minLength: 4 maxLength: 4 enum: - CACC - CARD - CASH - CHAR - CISH - COMM - CPAC - LLSV - LOAN - MGLD - MOMA - NREX - ODFT - ONDP - OTHR - SACC - SLRY - SVGS - TAXE - TRAN - TRAS - VACC - NFCA description: "A programmatic code:\n * CACC - Current - Account used to post debits and credits when no specific account has been nominated.\n * CARD - CardAccount - Account used for credit card payments.\n * CASH - CashPayment - Account used for the payment of cash.\n * CHAR - Charges - Account used for charges if different from the account for payment.\n * CISH - CashIncome - Account used for payment of income if different from the current cash account\n * COMM - Commission - Account used for commission if different from the account for payment.\n * CPAC - ClearingParticipantSettlementAccount - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.\n * LLSV - LimitedLiquiditySavingsAccount - Account used for savings with special interest and withdrawal terms. \n * LOAN - Loan - Account used for loans.\n * MGLD - MarginalLending - Account used for a marginal lending facility.\n * MOMA - MoneyMarket - Account used for money markets if different from the cash account.\n * NREX - NonResidentExternal - Account used for non-resident external.\n * ODFT - Overdraft - Account is used for overdrafts.\n * ONDP - OverNightDeposit - Account used for overnight deposits.\n * OTHR - OtherAccount - Account not otherwise specified. \n * SACC - Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.\n * SLRY - Salary - Accounts used for salary payments.\n * SVGS - Savings - Account used for savings.\n * TAXE - Tax - Account used for taxes if different from the account for payment.\n * TRAN - TransactingAccount - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.\n * TRAS - CashTrading - Account used for trading if different from the current cash account.\n * VACC - VirtualAccount - Account created virtually to facilitate collection and reconciliation.\n * NFCA - NonResidentForeignCurrencyAccount - Non-Resident Individual / Entity Foreign Current held domestically.\n" name: type: string example: Business Expenses minLength: 1 maxLength: 34 proxyIdentification: type: string example: john.doe@gmail.com minLength: 1 maxLength: 320 proxyIdentificationCode: type: string example: EMAL minLength: 4 maxLength: 4 enum: - TELE - EMAL - DNAM - CINC - COTX - COID - CUST - DRLC - EIDN - EWAL - PVTX - LEIC - MBNO - NIDN - CCPT - SHID - SOSE - TOKN - UBIL - VIPN - BIID description: "A programmatic code:\n * TELE - TelephoneNumber - A telephone number in the format specified by the 'The international public telecommunication numbering plan ITU-T E.164. \n * EMAL - EmailAddress - Internationalised address of an electronic mail box for internet messages.\n * DNAM - DomainName - Internationalised internet domain name.\n * CINC - CertificateOfIncorporationNumber - Corporate Identification issued by a national institution or regulator, used as account proxy. (applied for corporate account proxy).\n * COTX - CorporateTaxIdentification - Unique government-issued tax Identification used as account proxy to identify the corporate (for example for government tax) and typically linked to the corporate bank account (applied for corporate account proxy).\n * COID - CountryAuthorityIdentification - Identification issued by a national institution or regulator (different from a national scheme like a clearing provider), used as account proxy (applied for corporate or individual account proxy).\n * CUST - CustomerIdentificationNumber - Any other customer identification number issued by a corporate, bank or other organization, used as account proxy. (applied for corporate or individual account proxy).\n * DRLC - DriverLicenseNumber - Unique government-issued Identification used as account proxy to identify the individual (for example for government charges, road taxes and tolls,vaccination charges) and typically linked to the individual's bank account (applied for individual account proxy).\n * EIDN - ElectronicIdentification - Government-issued Identification (different from a passport Identification or a national Identification). Used as account proxy to identify the individual (for example for public benefits) and typically linked to the individual's bank account (applied for individual account proxy).\n * EWAL - EWalletIdentification - Market-adopted prepaid instruments like e-Wallets, payments to / from e-wallets from / to bank accounts (applied for corporate or individual account proxy).\n * PVTX - IndividualTaxIdentification - Unique government-issued tax Identification used as account proxy to identify the individual for example for government tax) and typically linked to the individual's bank account (applied for individual account proxy).\n * LEIC - LegalEntityIdentifierCode - Legal Entity Identifier used as account proxy (applied for corporate account proxy). Use cases: Can be used by corporates as a \"government-issued\" Identification for registration with payment schemes as a proxy. The proxy may be further used for payments and collections using the underlying instant payment rails for a variety of corporate use cases.\n * MBNO - MobilePhoneNumber - Mobile phone number in the format specified by the “The international public telecommunication numbering plan ITU- T E 164\" (applied for corporate or individual account proxy).\n * NIDN - NationalIdentificationNumber - Unique government-issued Identification used as account proxy to identify the individual or corporate for example for public benefits, government subsidies) and typically linked to the individual's / corporate bank account. (applied for corporate or individual account proxy).\n * CCPT - PassportNumber - Unique government-issued Identification used as account proxy to identify the individual (for example for government charges, road taxes, vaccination charges) and typically linked to the individual's bank account (applied for individual account proxy).\n * SHID - SchemeIdentificationNumber - Account proxy issued by a payment scheme (applied for corporate or individual account proxy). Use cases: Any proxies issued by clearing systems, for example VPA (India), FPS Identifier (Hong Kong), Jompay (Malaysia) CCIN (Canada).\n * SOSE - SocialSecurityNumber - Unique government-issued Identification used as account proxy to identify the individual (for example for public benefits) and typically linked to the individual's bank account (applied for individual account proxy).\n * TOKN - TokenIdentification - Electronic Identification used, for example, to mask an account number as a means of data secrecy. (applied for corporate or individual account proxy).\n * UBIL - UtilitiesSubscriptionIdentification - Subscriber Identification for utilities and services. As opposed to a biller Identification, this identification is used for the subscriber of the service (applied for corporate or individual account proxy).\n * VIPN - VehicleIdentificationPlateNumber - Account proxy for receiving insurance claims, pay insurance premium, road tax payments, traffic tickets etc.(applied for corporate or individual account proxy).\n * BIID - BillerSubscriberIdentification - Billers of specific utilities could register for a Biller Identification as supported in the clearing scheme, and use this identification for collections (applied for corporate account proxy).\n" remittanceAmount: title: RemittanceAmount type: object description: Provides details on the amounts. properties: duePayableAmount: $ref: '#/components/schemas/amount' discountAppliedAmount: $ref: '#/components/schemas/amountAndType' creditNoteAmount: $ref: '#/components/schemas/amount' taxAmt: $ref: '#/components/schemas/amountAndType' adjustmentAmountAndReason: $ref: '#/components/schemas/amountAndReason' remittedAmount: $ref: '#/components/schemas/amount' securitySchemes: APIKeyQueryParam: type: apiKey in: query name: apikey